관련 이것저것 21

[Docker] docker service와 fastapi를 활용한 YOLOv5 inference 서버 구축하기(1)

회사 프로젝트 진행 시, Docker는 더이상 선택사항이 아닌, 필수사항인거 같다. 거기에 쿠버네티스나 docker-compose와 같이 Docker들을 관리할 수 있는 시스템은 얹을 뿐..., 분산 시스템 환경에서 대규모 컨테이너를 다룬다면 쿠버네티스가 최적의 선택지 이지만, 설치 뿐 아니라 관리가 만만치 않다는 단점이 있다. 그에 반해 docker swarm을 기반한 docker service을 이용한다면 쿠버네티스보다는 유연성은 떨어지지만, 관리 및 구현 난이도가 상대적으로 간단하기 때문에 대규모 시스템이 아니면 충분히 매력적인 선택지 이다. 이번 프로젝트에서 YOLOV5 서버를 구축하는 역할을 맡았다. inference를 사용할 inference.py를 작성하고 (yolov5의 detect.py에..

[Docker] docker swarm gpu할당

단일 nvidia docker로 docker 내부에서 nvidia gpu 사용시 --gpus all(또는 번호) 명령어를 붙여주면 gpu 사용이 가능하다. docker run -it --gpus all {image}:{tag} nvidia-smi 그런데 docker swarm에는 --gpus all처럼 gpu를 할당하는 명령어가 없다. swarm에서 gpu할당하여 docker service를 올려야 했기 때문에 docker swarm에 gpu를 할당하는 방법들을 찾아보았다. OS : ubnutu 18.04 설치 : docker, nvidia-docker 두가지 설치 된 상태 https://gist.github.com/tomlankhorst/33da3c4b9edbde5c83fc1244f010815c Ins..

[kafka] ubuntu22.04 kafka 설치

설치방법 JDK version 11 설치 아파치 카프카 다운로드 리눅스에서 컨텐츠 추출 kafka 관리 플랫폼 컨덕터에서 제공해주는 설치방법을 참고하였다. https://www.conduktor.io/kafka/how-to-install-apache-kafka-on-linux/ https://www.conduktor.io/kafka/how-to-install-apache-kafka-on-linux/ www.conduktor.io Installing Java JDK 11 https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html Downloads for Amazon Corretto 11 - Amazon Corretto Tha..

[Docker] yolov8 docker 설치해보기

https://github.com/ultralytics/ultralytics GitHub - ultralytics/ultralytics: YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/ultralytics development by creating an account on GitHub. github.com yolo v5를 만든 팀이 2023년 yolov8를 가지고 돌아왔다. 이렇게 쉽게 동작되도 되나 싶을 정도로 쉽게 만들어 졌다. 포스팅 하는 기준으로 아직 안정화가 덜 된듯 하지만, 추후 안정화 되면 비전 딥러닝 관련해서 정말 큰 파장(이미 ..

[Docker] Could not connect to any X display 오류 해결 (ROS_Docker)

요즘 ROS공부 개발 매진이다. 로컬에서 실행하지 않고 도커로 공부중이다. ROS 터틀심 노드를 실행하려고 했는데 해당오류가 발생했다. 환경은 Ubuntu 18.05 LTS 환경이다. 도커를 스타트하고, 접속하고 Roscore를 실행하였는데, 터틀심 노드를 실행할 수 없는 문제였다. 도커 실행 전, 해당 구문을 로컬에서 실행해줬다. sudo xhost + export DISPLAY=:1 그리고 컨테이너 접속 후, 해당 구문을 실행해 줬다. apt install libcanberra-gtk-module libcanberra-gtk3-module export NO_AT_BRIDGE=1 도커를 스탑하고 다시 실행해주고 접속해 보았다. 터틀심 노드를 켰더니 정상작동이 되었다. 참고 https://conserva..

[Airflow] 데이터 파이프라인

책 내용 정리 데이터 파이프 라인 구축은 원하는 결과를 얻기 위해 여러 태스크 동작으로 구성한다. 데이터 파이프라인 그래프 태스크 간의 의존성을 확인하는 방법은 그래프로 표현 하는 것이다. 그래프에서 화살표의 최종 끝점은 태스크 A에서 B로 연결되고, B가 시작되기 전, A를 완료해야 된다는 의미이다. 이러한 그래프를 방향성 그래프 라고 한다. 이런 형태의 그래프는 일반적으로 방향성 비순환 그래프(Directed Acyclic Braph, DAG) 대그 라고 부르게 된다. 비순호나 그래프는 태스크 간의 순환 실행을 방지하기 때문에 매우 중요하며 그래프를 실행할 때, 순환 의존성을 발생시킨다. 순환그래프 의경우, 2가완료된 후 3이 실행되고 다시 2가 실행되는 논리적 오류 때문에 그래프가 동작하지 않는다 ..

Git [4] Remote Repository, Branch 운영

Git Home 에서 Repositoreis 'New' 버튼선택 remote_git 생성 • README File & .gitignore (python) 선택 > Create repository 참고 - README File • 프로젝트에 대한 설명, 사용방법, 라이센스, 설치방법 등에 대한내용을 기술하는 파일 • 나, 직장동료, 프로그램 사용자를 위해 존재 (작성 습관화 필요) Local Repository 를생성하지않은상태에서 Git Clone 명령을사용하여 Remote Repository를 Local 에복제할수있음 Git Clone 앞서폴더를만들고 + Git Init 으로해당폴더를초기화하고 + Remote Repository 를등록하고 + Remote Repository 의내용을 Pull 하는모든과..

Git[3] Respositroy 생성 및 운영

Workspace 생성 git_test 폴더로 이동 cd git_test git init 폴더에서 git을 초기화하는 명령어 git init 파일생성 touch test.txt Git Status Git 에존재하는파일확인 git status Git Add Working Directory 에서변경된파일을 Index (stage)에추가 git add test.txt git status branch에 추가됨을 확인 할 수 있음 Git Commit Index (stage) 에추가된변경사항을 HEAD 에반영 (확정) git commit -m "commit 에 대한 설명" git commit -m"new commit" test.txt 원격 Repsoitroy 생성 Github Token 생성 보안상의이유로 Remo..

Git [2] GitHub 가입 및 연결

GitHub: Where the world builds software · GitHub GitHub: Where the world builds software GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat... github.com 접속 후 회원가입함 Sing up for Github 클릭 메일 확인 후 코드 입력 git과 연동하기 git bash를 키고 1. 가입했던 user name 2. 가입했던 이..