전체 글 176

cudnn 새로설치 (feat. DNN library not found)

keras를 사용해서 image classification모델을 만드는 작업을 진행 중 다음과 같은 에러를 발견했습니다. DNN library is not found. 앗 뭐지.. 하던 중 그 위의 로그에서 CuDNN이 제대로 설치되어있지 않다는 신호가 뜨네요. Loaded runtime CuDNN library: 8.1.1 but source was compiled with: 8.6.0. CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library. If building from sources, make sure t..

Linux/Ubuntu 2023.06.20

keras를 이용한 image classification 구현하고 저장하기 (mobilenet, tflite)

안녕하세요 저번 포스트에서 tflite model maker를 통해서 안드로이드에서 tflite model maker를 통해 모델을 만드는 법을 포스팅하였습니다. 2023.06.02 - [모바일/안드로이드] - 안드로이드에서 Image classification 모델 만들기 하지만 tflite_model_maker의 경우 여러가지 제약상황이 많았습니다. 그 중 하나는, tflite_model_maker로 나온 결과는 uint8의 데이터타입으로 나온다는 점입니다. 딱히 이를 고칠 수 있는 방법이 없는 것 같습니다. 하지만 keras api를 사용하면 훨씬 쉽고 커스텀하기 편하게 만들 수 있습니다. 예를들어 이 코드를 봅시다. import numpy as np from tensorflow.keras.appl..

openai image generation를 사용해서 이미지를 만들어봅시다

정말 좋은 세상인 것 같습니다. 이제는 이미지를 만들어주는 api도 뚫리고, 해보니깐 꽤나 잘되네요. 물론 api_key가 있어야 하겠지만, 간단한 스크립트로 몇백개나 몇천개의 이미지를 손쉽게 만들수 있습니다. 다만, images 라는 폴더를 만들어줘야 합니다. size의 경우에는 256x256, 512x512, 1024x1024 세 가지가 있다고 하고, response_format은 url, b64_json 두 가자의 포맷이 있다고 합니다. num은 1에서 10까지 정할 수 있고, 첫번째 for loop에 얼마나 많은 값의 숫자를 넣느냐에 따라 받는 이미지의 양을 정할 수 있습니다. 현재 10으로 되어있기 때문에, 100장이 나오고, 100으로 하면, 1000장이 나옵니다. 해봤을 때, 250장 정도까..

openai 2023.06.13

리눅스에서 C++ (G++?) 설정하기

요즘 핫한 GoundingDino 설정하다보니깐, 에러를 잡다가 보니깐, 결국 여기까지 오게 됬네요. GroundingDino 설정은 결국 cuda_home을 환경변수로 설정해주는 이슈로 해결해주긴 했지만, 그 와중에 g++ 버전을 바꿔주는 방법을 포스팅 하도록 하겠습니다. 일단 내가 현재 사용하는 g++ 버전을 확인하는 방법입니다. which g++ 이를 통해서 어디에서 g++이 실행되는지 알 수 있습니다. 보통 /usr/bin에서 실행되는데, ls -lha 를 통해서 symlink를 확인할 수 있습니다. ls -alh /usr/bin | grep g++* 이런 식으로 g++을 사용하는 것을 알아냅니다. lrwxrwxrwx 1 root root 15 5월 15 18:45 /usr/bin/g++ -> /..

환경설정 2023.06.09

안드로이드용 tflite image classification 모델 inference 스크립트

안녕하세요 저번 포스트에서 만들었던, 모델을 실제로 어떤 식으로 테스트 해볼수 있을까요? 다음 스크립트를 사용하면 테스트를 해볼 수 있습니다. reference: https://www.tensorflow.org/lite/inference_with_metadata/task_library/image_classifier #Imports from tflite_support.task import vision from tflite_support.task import core from tflite_support.task import processor from tensorflow_lite_support.python.task.core import base_options as base_options_module from ..

안드로이드에서 Image classification 모델 만들기(tflite model maker)

안녕하세요 오늘은 Android 에서 돌아가는 Image Classfication model에 대해서 알아보도록 하겠습니다. Image Classification은 CNN중에서도 가장 기본적인 활용인 만큼, 의미가 있을것으로 보입니다. reference: https://www.tensorflow.org/lite/models/modify/model_maker/image_classification Image classification with TensorFlow Lite Model Maker Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand Image classification with TensorFlow Lite M..

로컬에서 LLM을 돌려봅시다.. (2) 장비를 맞춰봅시다

요즘 NLP를 하고 있는데, 진입장벽이 많이 높다는 생각이 듭니다. 특히 LLM 쪽은, 하드웨어 진입장벽 때문에라도 보통 사람들이 쉽게 접근하기 어렵다는 생각이 많이 듭니다. LLM의 시대를 연 ChatGPT의 경우에는.. 너무 높은 사양을 요구해서 개인이 실질적으로 하기는 힘들지만, 새로운 LLAMA의 경우에는, 특히 낮은 사양의 경우에는 충분히 인퍼런스 할만하다고 생각이 드는게 사실입니다. 시작하기 전에, 이 포스팅을 위해 참고를 많이 한 블로그를 소개하겠습니다. reference : https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/ The Best GPUs for Deep Learning in 2023 — An In-depth Anal..

Deep Learning/NLP 2023.06.01

Laplacian Method를 이용해 Blurry Image detect 하기!

input_video.mp4를 이용해서, 얼마나 Blurry 한지를 파악하고, 이를 이용해서 blurry를 detect하는 스크립트를 소개하도록 하겠습니다. 기본적인 원리는, 샤프한 이미지일수록, edge가 잘 define되어있고, blurry 한 이미지일 수록 그렇지 못하다는 점에 착안하여, variance of laplacian 의 값을 찾아서, 그 laplacian 값이 낮을 수록 더 blurry한 이미지라는 사실을 이용하는 것입니다. 이를 이용해서, 더 높은 화질의 이미지를 구할수 있을 것으로 보입니다. 물론 Threshold 값에 대해서는 여러 번 실험을 통해서 최적의 값을 구해야겠죠? reference : https://theailearner.com/2021/10/30/blur-detectio..

Image Processing 2023.05.31

로컬에서 LLM을 돌려봅시다.. (1) LAMMA 그리고 그 이후

요즘 LLM이 엄청 핫합니다. 페이스북에서 LAMMA 모델을 유출? 또는 공개를 한 이후, 또 ChatGPT의 막대한 성공 이후에 ChatGPT까지는 아니더라도 적은 컴퓨팅 파워로 어느정도의 성능을 원하는 사람들이 많아지고 있습니다. 앞으로 이런 사람들이 많은 만큼, 더 작은 모델들을 위한 연구가 계속 진행될 것으로 생각됩니다. 작게나마 현재 LLAMA(Large Language Model Meta AI)를 비롯해서 현재 어떻게 되어가고 있는지를 정리해 보도록 하겠습니다. 1. LLAMA 메타 (구 페이스북)에서 만든 작은 언어 모델. Open Source 로 만들었지만 실제로 weight을 다운받으려면 메타에 waitlist을 등록해야 됩니다. 65B, 33B, 13B, 7B 네 가지 정도의 모델이 있..

Deep Learning/NLP 2023.05.17