[MetaFlow] ModuleNotFoundError: No module named 'fcntl' Windows10 환경에서 MetaFlow 실행 시 fcntl 이라는 모듈이 없다는 문제가 생긴다. 찾아보면 fcntl 라이브러리는 리눅스에서만 지원된다고 한다. ModuleNotFoundError: No module named 'fcntl' 추가로 MetaFlow 홈페이지에서 검색해본 결과, 윈도우는 지원할 계획이 아예 없다고 한다. (할말을 잃었다) 참고 https://github.com/Netflix/metaflow/issues/10 AI | ML/AI 개발 | CUDA 2021.12.21
[Python] TFLite to ONNX 변환 1. pip install tf2onnx 2. python -m tf2onnx.convert --opset 13 --tflite {tflite_file} --output {onnx_file} 3. pip install onnxruntime ( gpu 사용 시, onnxruntime-gpu) 4. onnx 모델 실행 결과 예시 Onnx 모델 실행 코드 (Python) import onnxruntime import numpy as np import cv2 def load_onnx_model(path, use_gpu): ort_session = onnxruntime.InferenceSession(path) if use_gpu: ort_session.set_providers(['CUDAExecutionProvi.. AI | ML/AI 개발 | CUDA 2021.12.15
[Windows] Onnxruntime Visual Studio C++ Build 1. Visual Studio Nuget 다운로드 2. VS include, lib path 설정 includePath $(ProjectDir)/packages/Microsoft.ML.OnnxRuntime.Gpu.1.8.1/build/native/include LibPath $(ProjectDir)/packages/Microsoft.ML.OnnxRuntime.Gpu.1.8.1/runtimes/win-x64/native dll → 프로젝트 경로에 import 3. GPU 이용 시, 다음의 코드 변경 core/framework/provider_options.h → provider_options.h 4. 테스트 코드 작성 후 테스트 AI | ML/AI 개발 | CUDA 2021.12.14
[Onnx] C++ GPU Inference OS : Windows 10 GPU : RTX 2080 Tools : Visual Studio 2019 16 CUDA : 11.0 CUDNN : 8.0.6 Onnxruntime version : 1.8.1 CUDA는 매우 호환이 까다로운 녀석이다. 많은 고생을 덜기 위해선 아래의 사양을 꼭 참고해서 진행해야 한다. https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html 나의 경우에는 CUDA 11.0으로 설치되어 있기 때문에 Onnx version을 1.8.1로 진행하였다. 아래는 CPU 모델을 GPU로 변경할 때 추가로 들어가는 코드이다. OrtCUDAProviderOptions options; options.device_.. AI | ML/AI 개발 | CUDA 2021.12.02
[TensorRT] Windows 환경 onnx -> trt 변경 나는 CUDA, CUDNN 이 설치되어 있다는 가정하에서 진행하였다. ( CUDA : 11.0, CUDNN: 8.02, VS : 2019 ) CUDA 환경이나, tensorflow, pytorch 등의 환경이 다르다면 아래의 링크를 기준으로 다른 버전을 참고해야 한다. https://docs.nvidia.com/deeplearning/tensorrt/release-notes/index.html 1. tensorRT 홈페이지에 들어가 환경에 맞는 zip 파일을 다운로드 받는다. (나는 8.2.1 GA 버전을 설치하였다) https://developer.nvidia.com/nvidia-tensorrt-download 2. 적당한 곳에 압축을 푼다. (난 D 드라이브에 설치하였고, {path} 라고 표현) 3.. AI | ML/AI 개발 | CUDA 2021.12.01
[TensorRT] Windows 10 C++ 설치 나는 CUDA, CUDNN 이 설치되어 있다는 가정하에서 진행하였다. ( CUDA : 11.0, CUDNN: 8.02, VS : 2019 ) CUDA 환경이나, tensorflow, pytorch 등의 환경이 다르다면 아래의 링크를 기준으로 다른 버전을 참고해야 한다. https://docs.nvidia.com/deeplearning/tensorrt/release-notes/index.html 1. tensorRT 홈페이지에 들어가 환경에 맞는 zip 파일을 다운로드 받는다. (나는 8.2.1 GA 버전을 설치하였다) https://developer.nvidia.com/nvidia-tensorrt-download 2. 적당한 곳에 압축을 푼다. 3. Visual Studio를 열고, 속성 페이지에 들어간.. AI | ML/AI 개발 | CUDA 2021.12.01
[TensorRT] EA vs GA vs RC 차이 EA는 Early Access의 약자로 미완성이지만 새로 추가된 기능을 제공받을 수 있다는 장점이 있고, GA는 General Availability의 약자로 최신버전은 아니지만, 기능이 안정적으로 지원된다는 점, RC는 Release Candidate의 약자로 직역하면 릴리즈 후보로, 아직 릴리즈 직전의 상태를 말한다. 정리 : GA 버전 쓰는 게 좋다 참고 https://stackoverflow.com/questions/57312160/what-is-the-difference-between-tensorrt-ga-and-rc https://forums.developer.nvidia.com/t/ea-vs-ga/184403 AI | ML/AI 개발 | CUDA 2021.12.01
[C++] onnx 결과값 Mat 타입으로 변경 segmentation 모델 결과를 onnx로 받아보려고 시도하다가 잘 안되었는데, 방법을 찾아 공유하고자 글을 쓴다. 나의 경우는 segmentation 모델 결과가 128 x 128 x 1 의 float 형태의 결과였다. 따라서 128 x 128 크기의 Mat에 _result 포인터를 넣었더니 해결되었고, 0~1사이 값이므로 255를 곱해 8bit로 변경하였더니 결과가 잘 나왔다. auto output_tensors = session_.Run(Ort::RunOptions{ nullptr }, input_names.data(), inputTensors.data(), 1, output_names.data(), 1); float* _result = output_tensors.front().GetTensor.. AI | ML/AI 개발 | CUDA 2021.11.30
[Pytorch Lightning] Pytorch-Lightning 사용해보기 최근에 PyTorch-lightning이라는 라이브러리를 알게 되었다. Pytorch-lightning(PL)은 이름만 들어도, pytorch를 경량화시킨거 같다는 생각이 들었는데, PL이 pytorch와 다른점이 무엇인지 알아보았다. 대략적인 설명은 홈페이지에서 볼 수 있다. https://www.pytorchlightning.ai/ PyTorch Lightning The ultimate PyTorch research framework. Scale your models, without the boilerplate. www.pytorchlightning.ai 나의 느낀점은 Pytorch는 Python스러운 Numpy를 DL에 접목시킨 확장시킨 라이브러리였다면, Pytorch Lightning은 "학습"의.. AI | ML/AI 개발 | CUDA 2021.07.21
[CUDA] 윈도우 환경에서 CUDA 버전 변경 어떤 github의 딥러닝 코드는 tensorflow 1.14 버전을 썼는데, 1.14 버전은 CUDA 11버전이 호환되지 않아서 1. python 버전 변경 2. tensorflow 재설치 3. CUDA 버전 번경 (11 -> 10) 의 절차가 필요하였다. 나의 상황은 다음과 같고, 하나씩 적용해봤다. GPU : 2060 RTX OS : Windows 10 CUDA : 11.0 Python : 3.8 1. Python 버전 변경 다행히도 Anaconda를 쓰고 있어서, conda 환경으로 3.6 을 새로 만들어서 쉽게 해결하였다. 2. tensorflow 재설치 마찬가지로, conda 환경으로 새로 설치하고 나니 pip install tensorflow-gpu==1.14.0 으로 쉽게 해결하였다. 3... AI | ML/AI 개발 | CUDA 2021.07.09