전체 글 45

C++ 을 위한 간략한 C 강좌 1 - 리터럴 및 기본 자료형

C++ 은 언어가 지향하는 점이 C 와 완전히 다른 언어입니다, C++ 코드를 C 스타일로 작성하게 되면 가독성도 떨어질 뿐 더러, 여러가지 버그를 맞이할 확률이 높습니다(애초에 C가 아무생각 없이 짜다가는 버그가 나기 십상..) 하지만 일단 C++ 도 가장 기초적인 문법(변수, 함수, 조건, 반복 등등..) 들은 C의 문법과 거의 동일하고, 매크로나 goto 같은 경우는 반드시 필요한 경우가 있습니다. 또, C++14 이하에서는 입출력 및 파일시스템 등에서 C 함수를 써야 하는 경우가 종종 있지요(C++ 17 이후로는 거의 대부분 표준 함수를 이용해서 사용 가능합니다) 그래서 C++을 사용하더라도 기본적인 C 지식은 가지고 있어야 합니다. 이번 강좌에서는 필수적인 C 문법들과, 이들이 C++에서 어떻게..

C 2020.07.25

Tensorflow Lite prebuilt C++ Wrapper

Tensorflow Lite prebuilt C++ Wrapper 지금 만들어둔 Repository의 submodule이 clone가 안되는 버그가 있다고 댓글로 알려주셔서 수정 중에 있습니다!(2021.08.30) 최대한 빠른 시일 내에 정상화 하도록 하겠습니다. 잠시만 기다려주세요 ㅠㅠ 더불어 Tensorflow Lite 버전 업데이트 및 추가 delegate들도 빌드해놓을 예정입니다. 최근에 바쁘고 귀찮기도 해서 블로그를 방치했는데, 의외로 찾아오시는 분들도 있고, 댓글까지 남겨주시는 분들도 있어서.. 마음먹고 다시 쓰고 있습니다. Tensorflow Lite C(C++) 라이브러리 및 래퍼를 3개의 플렛폼(Ubuntu(Linux), MacOS, Android) 에서 사용할수 있게 만들어 놓은게 있..

TensorFlow 2020.07.24

C/C++ 코드 최적화

C++ 코드 속도 향상 기법 제 주전공인 물리학과 특성상 시뮬레이션 같은걸 돌릴 경우 수 시간에서 수일, 크게는 몇개월 까지 돌리는 일이 많습니다.이 때문에 교수님들이 포트란/C 시절의 극한의 코드 쥐어짜기를 은연중에 설파하시고, 저도 관련 자료들을 많이 찾아 봤습니다.아래는 제가 경험적으로 알게 됬거나 구글링을 통해 찾아 본 방법이며, 하드웨어, 컴파일러마다 다른 결과가 나올 수 있습니다. 피드백은 언제나 환영합니다 본 내용은 제가 예전에 발표한 코드 최적화 프레젠테이션을 문서화 한 것입니다. (아직 덜 옮겨적었습니다)PPT 에 다 못한 얘기들을 더 추가할 예정입니다. 목차1. 서론2. 일반적인 방법3. 하드웨어 동작 기반4. 그 외 1. 서론 (프로파일링 등을 하여) 정확히 어떤 곳을 최적화 할지 알..

C++ 2020.05.26

CMake로 Root 프로젝트 설정하기

https://root.cern/ ROOT a Data analysis Framework | ROOT a Data analysis Framework root.cern ROOT야 말로 진짜 빅 데이터를 다루는 프로그래밍 툴입니다. 저도 기억은 잘 안나는데 천공카드 시절부터 코딩을 하신 저희과 물리학 교수님께 들은바에 의하면 유럽입자물리연구소(CERN) 에서 수십년전에 개발한 과학용 툴로, 실험 한번에 수십 페타바이트 이상 생기는 데이터를 처리하고, 이를 정리하는 그래프 등을 시각화하는데 쓰이고 있다고 하네요. 아직도 CERN에서 발표하는 자료의 표나 그래프들은 ROOT를 이용하여 그린다고 합니다. 각설하고 이를 CMake를 이용해서 사용하는법을 소개하겠습니다. 1. github https://github...

초보도 따라하는 모던 C++ 튜토리얼

이 강좌는 제가 여러 책들과 수많은 사이트에서 배우고, 직접 코딩 하면서 알게 된 모던 C++ (C++11 이후)에 대해 다루고자 작성하게 되었습니다. 들어가기에 앞서 C++ 에 대해 간략히 짚고 넘어갈 것들이 있습니다. 프로그래밍을 처음 배울때, C++ 로 시작하는 것은 별로 추천하지 않습니다. 일단 바탕에 존재하는 문법은 C와 거의 동일합니다. 거기에 버전이 지나면서 다른것들이 추가되었지만, 기본적으로는 C 문법을 알아야 합니다. 그런데 C++ 이 지향하는 점은 C와 매우 다릅니다. 이 점을 무시하고 코드를 짜게되면 C++ 코드를 C 스타일로 짜게되는 매우 부적절한 현상이 생기게 되죠 그렇다고 C 문법을 배우지 말고 바로 C++ 스타일을 배워서 코드를 짜려니 포인터니 래퍼런스니 하는 개념들이 또 앞길..

C++ 2020.04.06

TensorFlow Lite Java(Android) 사용법

시간이 되는대로 업데이트 하도록 하겠습니다!(2021.08.30) ㅠㅠ 요즘 이것저것 하는게 많아서 시간이 잘 안나네요 Tensorflow Lite 는 Java 에서는 dependencies 만 추가해 주면 바로 사용할 수 있습니다. dependencies{ implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly' implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly' implementation 'org.tensorflow:tensorflow-lite-support:0.0.0-nightly' }

TensorFlow 2020.04.05

TensorFlow Lite C/C++ 환경 구축하기(CMake)

TensorFlow Lite C/C++ 환경 구축하기(CMake) https://cppmagister.tistory.com/18 를 참고하시는게 더 좋습니다! TensorFlow Lite C 라이브러리와 헤더파일, 그리고 CMake 가 필요합니다. 1. 라이브러리 빌드 라이브러리 만드는법을 참조해주세요 2. 헤더 파일 만들기 1 에서 라이브러리를 만들었으면, 그 원본 소스 파일을 복사하면 됩니다.아래처럼만 헤더만 남기고 다 날리면 됩니다. (용량 때문에 날린거라 굳이 안 날려도 됩니다) 3. 파일 구성하기 헤더 파일들과 라이브러리 파일들을 각각 하나의 폴더에 묶어 다음처럼 만들면 됩니다. 아래 내용은 Android 로 빌드된 라이브러리를 이용했습니다. 다른 환경에서도 똑같이 해주고 CMakeLists.t..

TensorFlow 2020.04.05