본문 바로가기
728x90
반응형

코드12

[ONNX] ONNX Runtime? Pytorch 모델 ONNX 변환하기 (Renset18) 들어가며.. 안녕하세요, 코드퀸입니다. 여러 플랫폼에서 딥러닝 모델을 실행시킬 수 있도록 변환해주는 라이브러리인 ONNX 를 자세히 파헤쳐 보고자합니다. 작성 내용은 공식 홈페이지에 작성된 내용을 제 나름대로 해석하거나 재현한 것들입니다. 내용에 오류가 발견되면 댓글 부탁드립니다. 오늘의 컨텐츠 -> https://onnxruntime.ai/docs/ ONNX Runtime ONNX Runtime is a cross-platform machine-learning model accelerator onnxruntime.ai Welcom to ONNX Runtime! ONNX Runtime 이란? 플랫폼 간의 모델을 교환하여 사용할 수 있는 라이브러리 예1) PyTorch, Tensorflow/Keras, T.. 2023. 8. 8.
[ONNX] ONNX 란? - 탄생 배경, 목적, 성능 테스트 ONNX (Open Neural Network Exchange)? ONNX는 딥러닝 모델의 상호 운용을 위해 생긴 프레임워크입니다. Pytorch에서 처음 만들어졌으며, 현재는 많은 기업들이 ONNX를 지원하고 있습니다. 왜 ONNX 가 나오게 되었는지, ONNX는 무엇인지 하나씩 살펴보도록 하겠습니다. 더 전문적이고, 자세한 내용이 필요하시다면, ONNX 공식 홈페이지 참고 부탁드립니다. https://onnx.ai/about.html ONNX | About Technical Design ONNX provides a definition of an extensible computation graph model, as well as definitions of built-in operators and sta.. 2022. 12. 16.
[ONNX] ONNX로 pytorch 딥러닝 모델 변환/추출/실행하기 (Yolov5) 다른 개발자 분과 이야기하다가 ONNX에 대해 접하게 되었습니다. 사실 ONNX를 코드에서 봤을 때는 뭐 새로운 게 딥러닝 라이브러리인가? 싶었는데, 생각보다 활용성이 많은 것 같아, 이번에 한번 간단하게 테스트를 해보고자 합니다. 간단하게 ONNX의 개념을 살펴보고, ONNX변환 코드를 소개하겠습니다. ONNX 란? ONNX는 다른 환경에서 제작한 딥러닝 모델을 호환해서 사용할 수 도록 해주는 교차 플랫폼 모델 가속기입니다. ONNX는 pytorch, tensorflow/keras, tflit, scikit-learn 및 기타 프레임워크 모델과 함께 사용할 수 있습니다. Pytorch에서 작성한 모델을 ONNX로 변환하는 방법 1. onnx 파일 추출 2. onnxruntime 이용하여 실행 onnx .. 2022. 12. 15.
[시맨틱 세그멘테이션] 왕초보도 가능한 이미지 영역 분리하기 (python, pytorch) 자율주행차와 인공지능 자율주행차는 종합예술,미래 기술의 집약체라는 말을 종종하곤 합니다. 요즘 나오는 자율주행차를 보고 있으면 언제 이렇게 기술이 발전했나 싶을정도로 기술의 발전이 놀라운데요, 오늘은 그 일부인 시맨틱 세그멘테이션 기술을 소개합니다. 시맨틱 세그멘테이션은 말 그대로, 의미론적으로 나누는 것입니다. 사람은 사람 영역으로, 길은 길 영역으로 나누는 기술입니다. 코드는 아래의 pytorch 공식 홈페이지에서 가져왔으며, 아래 링크를 들어가면, 환경설치 없이도 간단하게 코드를 테스트해볼 수 있습니다. https://pytorch.org/hub/pytorch_vision_deeplabv3_resnet101/ PyTorch An open source machine learning framework .. 2022. 12. 12.
[파이썬] 인공지능(AI), 딥러닝 코드 필수 기초 문법 (3) - 배열 인공지능, 딥러닝 코드를 보다보면, 데이터를 읽어오고 전처리, 시각화를 경우가 많다. 이 때 가장 많이 사용되는 데이터 형태가 배열이며, numpy라는 패키지를 이용하여 선언하고 활용한다. 배열 코드는 다음과 같다. 아래 코드가 이해가 모두 간다면 패스해도 좋다. import numpy as np items = [1,2,3,4] # list a = np.array([1,2,3,4]) # numpy 배열 print(a+a) print(items+items) b = np.array([[1,2],[3,4]]) # 2차원 배열 print(b) print(b.shape) a = np.array([[1,2,3,4]]) # 1차원 배열 print(a.T) a = np.array([1,2,3,4]) # numpy 배열.. 2022. 12. 9.
[파이썬] 인공지능(AI), 딥러닝 코드 필수 기초 문법 (2) - for 문, if 문 인공지능(AI), 딥러닝 코드에 자주 쓰이는 for 문과 if 문에 대해 알아보려고 한다. for문은 영어로는 "~동안" 이라는 뜻이고, if문은 영어로는 "만약에" 라는 뜻이다. 코딩에 사용될 때도 똑같은 의미로 사용된다. 본 포스팅에서 다룰 전체 코드는 다음과 같다. 아래 코드가 전부 다 이해가 간다면 본 포스팅을 패스해도 좋다. # itmes 이라는 이름으로 list 자료형의 변수 선언 itmes = [1,2,3,4,5,"Hello", "world", 6] # for문 1 for k in range(0, len(itmes)): #len(*)은 *의 전체 데이터 길이를 알려줌 print(k, itmes[k]) # for문 2 for k in itmes: print(k) a = 3 if a > 4: p.. 2022. 12. 7.
[파이썬] 인공지능(AI), 딥러닝 코드 필수 기초 문법 (1) - 변수 선언, 자료형, 함수 인공지능(AI), 딥러닝 코드를 이해하려면 몇가지 기초 문법을 알고 있어야 이해하기가 수월하다. 변수 선언, 자료형, 함수는 코드를 볼 때 필수적으로 마주하는 문법이다. 본 포스팅에서 살펴볼 전체 코드는 다음과 같다 아래 코드가 전부다 이해가 간다면 본 포스팅을 패스해도 좋다. # 변수선언 a = 1 # 정수로 선언 (integer) b = 1.0 # 실수로 선언 (float) c = "문자" # 문자로 선언 (string) d = [1,2,3] # 리스트로 선언(list) print(type(a), type(b), type(c)) #list 활용 d.append(4) # 리스트 마지막에 숫자 4 추가 d.append("테스트") # 리스트 마지막에 문자 "테스트" 추가 print(d) # 기본형태 {k.. 2022. 12. 6.
[영상처리] 파이썬으로 이미지 인코딩/디코딩, image to base 64, base 64 to image 로 변환하기 base64란? base64(베이스 육십사)란 8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다. -위키백과- 이미지 파일로 저장하기 어렵거나, 전송을 해야하거나 등등 다양한 이유에서 이미지를 문자열(base64)로 변환하여 사용한다. 이미지를 base64로 변환하고, base64를 다시 이미지로 변환하는 코드는 다음과 같다. import base64 import io import cv2 import numpy as np from PIL import Image # 이미지를 base64 변환 img_in = open('./input.png', 'rb') base64_str = base64.b64encode(.. 2022. 12. 5.
[영상처리] 파이썬에서 opencv의 cv2.imread/cv2.imwrite로 이미지 불러오고, 저장하기 파이썬에서 opencv를 사용하여 이미지를 불러오고, 저장하는 파이썬 코드를 공유합니다. opencv 는 다양한 함수들을 제공하고 있습니다. 매우 자주 쓰이는 코드입니다. 코드 설명은 주석을 참고해주세요. import cv2 img = cv2.imread('input.png') # 이미지 파일 불러오기 cv2.imwrite('output.png', img) # 이미지 파일 저장하기 cv2.imshow('input', img) # 이미지 보이기 cv2.waitKey(0) # ESC 누르면 종료 cv2.destroyAllWindows() # 이미지 보여주는 창 종료 2022. 12. 5.
[영상처리] 파이썬에서 opencv의 cv2.VideoCapture로 동영상 재생하기 파이썬에서 opencv를 사용하여 비디오를 재생하는 코드를 공유합니다. 매우 자주 쓰이는 코드입니다. 코드 설명은 주석을 참고해주세요. import cv2 cap = cv2.VideoCapture('video.mp4') # 비디오 파일 불러오기 while True: retval, frame = cap.read() # 비디오 프레임 하나씩 가져오기 cv2.imshow("show video, q를 누르면 종료됩니다", frame) # 프레임 보여주기 if cv2.waitKey(1) == ord("q"): # 사용자 입력 받기 'q' 입력 시 종료 break if frame is None: # 비디오 프레임 확인, 비어있으면 종료 break cap.release()# 객체 해제 cv2.destroyAllWin.. 2022. 12. 5.
728x90
반응형