최근 연구실에서 서버를 하나 받게 되었다. 원래는 아래 방식으로 원격 연결을 했었다. ubuntu server 안에 docker container 생성 docker container 안에서 anaconda, jupyter 설치후 jupyter lab 개방 ubuntu server 와 docker container 간 연결 이후 외부에서 ubuntu sever 의 docker container 와 연결된 특정 port 에 접근(jupyer lab 으로 연결) 위의 내용은 이 링크를 참고하라 그런데 최근 프로젝트를 진행하며 Python 에서 디버깅을 해야 하는 상황이 많았는데 jupyter lab 에서의 디버깅이 너무 불편하다고 느꼈다. 이에 외부 pc(본인은 mac os) 의 vscode 와 ubuntu ..
1. 키보드, 에어팟 연결 블루투스 기기 2개 연결해야 함 2. ROS, YoLO 시동 2.1. ROS - publisher node(mater node 포함) 시동 새 터미널 열고 아래 실행 1. ros dir 이동 $ roscd 2. ros launch 실행 : publisher, master node 실행 $ roslaunch cyglidar_d1_ros1 cyglidar.launch 4. YoLO 실행 전 가상환경 실행 새 터미널 하나 열고 아래 실행 $ workon yolov7 5. yolov7 dir 이동 $ cd /home/jetson7/yolo/yolov7 6. YoLOv7 실행 $ python3 detect2.py --weights ./weights/2023_11_22_2_best.pt ..
1. Information(정보량) : 주어진 임의의 이벤트에서 발생하는 놀라움(?)의 정도 * : stochastic event * : Probability of Event E example : 주사위를 던질 때 6이 나올 확률이 90%라 하자. 나머지 1~5까지 나올 확률은 2.5%라 하자. 이 때 각 확률이 나올 Information은 아래와 같다. 이 때 주사위를 굴릴 때의 정보량은 아래와 같다. 이 때 이 나오는 것보다 가 나오는 것이 더 놀랍다. 이러한 정보를 나타내는 수치가 information 이다. 2. Entropy * : 가 일어날 확률 * : 에서의 information 위의 식에서도 알 수 있듯, Entropy는 Information의 기대값이다. 예시를 들어서 생각해보자. exa..
이 글은 jetson nano 4gb 모델에서 진행했으며 jetpack 4.6.1 image 설치 후 진행음을 알린다. 1. opencv 4.5.1 with cuda 설치 1.1. package update 및 설치 opencv 설치 전 관련 패키지를 먼저 설치해야 한다. sudo apt update sudo apt install -y python3-pip python-dev python3-dev python-numpy python3-numpy sudo sh -c "echo '/usr/local/cuda/lib64' >> /etc/ld.so.conf.d/nvidia-tegra.conf" sudo apt install -y qt5-default sudo apt install -y build-essentia..
이 글은 아래 링크의 글을 나의 환경에 맞게 재구성한 것이다. 따라서 왠만하면 아래 글을 따라가는 것이 에러가 적을 것이다. REF : https://iambeginnerdeveloper.tistory.com/216?category=1062303 1. swap memory 설정 jetson nano에서 yolo를 실행하기 위해서는 기존 자원으로는 부족하다. 따라서 swap memory 설정을 통해 하드디스크의 일부를 메모리로 스왑하는 작업을 해야 한다. sudo apt-get update sudo apt-get upgrade sudo apt-get install nano sudo apt-get install dphys-swapfile # /sbin/dphys-swapfile 파일 open sudo nan..
1. CVPR 학회 일정 : 논문투고관련일정 : Dates and Deadlines AI Art Submissions AI Art Submission Deadline Mar 10 '24 (Anywhere on Earth) 24 weeks 06 days 09:46:16 Art Acceptance Notification Apr 08 '24 06:59 AM UTC Demos Demo Submission Deadline Mar 10 '24 (Anywhere on Earth) 24 weeks 06 days 09:46:16 Paper Submissions Paper Registration Deadline Nov 04 '23 06:59 AM UTC 06 weeks 04 days 04:45:17 Submission D..
1. USB tty (jetson usb 연결 권한 설정 관련) https://yogyui.tistory.com/entry/Linux-USB-%EA%B8%B0%EA%B8%B0-%EC%A0%91%EA%B7%BC%EA%B6%8C%ED%95%9C-%EC%98%81%EA%B5%AC%EB%B3%80%EA%B2%BD-chmod-permanently 2. ROS 설치 및 CygLiDAR_D1 2.1. ROS 설치 https://jeahun10717.tistory.com/68 [ROS / Jetson Nano] Jetson Nano ROS 설치 1. Jetson Nano 에 Ubuntu 설치하기 Jetson Nano 에 Ubuntu 설치는 아래 링크에 설명해 두었으니 참고하라 https://jeahun10717.tis..
1. Diffusion Model(DDPM) 강의 https://www.youtube.com/watch?v=uFoGaIVHfoE&t=216s&pp=ygUPZGlmZnVzaW9uIG1vZGVs 1.1. 위의 강의를 이해하기 위한 링크들 1. 조건부 확률, 사후 확률, 베이즈 정리 https://kongdols-room.tistory.com/133 http://godingmath.com/bayestheroem 베이즈 정리와 조건부 확률의 관계 | godingMath 베이즈 정리란 사후 확률 (posterior probability) 을 사전 확률 (prior probability) 를 이용하여 표현하는 방법으로 수학적으로 다음과 같이 표현합니다. 사건 B가 먼저 일어난 후 사건 A가 일어날 때, $$P(B|..
m1 mac 에서 mysql workbench 로 aws rds 에 접근하여 작업을 진행할 일이 있었다. 그런데 select 문을 한줄 실행할 때 workbench 상단 탭에 로딩표시가 뜨면서 무한로딩이 걸리고 result grid 가 뜨지 않는 문제가 발생했다. 이전에도 비슷한 문제를 겼었었는데 이번에 해결책을 찾아 기록해 두려 한다. (아직 원인은 모르겠다. 이전에 윈도우에서 작업할 땐 한번도 위의 문제가 발생한 적이 없었다. m1 mac 으로 바꾼 후 이러한 문제가 지속적으로 발생했는데 아직 mysql workbench 가 m1 native 를 지원하지 않아서 생기는 문제인 듯 한데 잘 모르겠다.(+ 오라클 m1 지원이 느린편인 것 같은데 진짜 탈모 올 것 같다.)) 해결책 1. mysql 재설치 ..
이번에 졸업작품에서 cyglidar_d1 이라는 라이다센서를 사서 그 라이다 센서를 ROS 에 올리고 python3 로 코드를 정리하는 과정을 정리해 보았다. device : jetson nano 4gb os : ubuntu 18.04 ros : melodic ROS melodic 설치 방법은 아래 링크를 참고하라 https://jeahun10717.tistory.com/68 [ROS / Jetson Nano] Jetson Nano ROS 설치 1. Jetson Nano 에 Ubuntu 설치하기 Jetson Nano 에 Ubuntu 설치는 아래 링크에 설명해 두었으니 참고하라 https://jeahun10717.tistory.com/65 [IOT / Jetson Nano] jetson 나노 초기화 밑 u..
1. Jetson Nano 에 Ubuntu 설치하기 Jetson Nano 에 Ubuntu 설치는 아래 링크에 설명해 두었으니 참고하라 https://jeahun10717.tistory.com/65 [IOT / Jetson Nano] jetson 나노 초기화 밑 ubuntu 설치 졸업작품을 IOT 기기를 활용하는 프로젝트를 하게 되어서 ubuntu 설치를 정리한다. IOT : Jetson Nano Labtop : Macbook Pro(m1) NVIDIA Jetson Nano OS 설치하기 Jetson Nano 는 기본 메모리 디스크가 없기 때문에, 별도 jeahun10717.tistory.com 2. Jetson Nano 에 ROS-melodic 설치 ROS melodic 설치는 아래 링크를 참고하여 진행..
삼성 SW 역량 테스트 기출문제 - 구현 위주의 문제들 https://www.acmicpc.net/workbook/view/1152 문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net 단기간 성장 - 알고리즘 기법 사용하는 문제들 https://www.acmicpc.net/workbook/view/4349 문제집: 단기간 성장 (redbin0471) www.acmicpc.net 초등학교를 졸업하자 KOI 편 https://www.acmicpc.net/workbook/view/140 문제집: 초등학교를 졸업하자 - KOI편 (yukariko) www.acmicpc.net
기존의 jetson nano 공식 image 는 ubuntu 18.04 를 사용했는데 ROS 설치에 실패하여 xubuntu 20.04 를 설치했다. xubuntu 설치 후 ssh 연결을 하려 했는데 아래와 같은 오류가 발생했고 이를 해결하는 과정을 정리하려 한다. 이 글에는 기본적인 ssh 연결 설정도 적어두었다. 1. xubuntu 20.04 설치 및 ROS-foxy 설치 https://pinkwink.kr/1349 Jetson nano에 ROS2 foxy 설치하기 Jetson Nano는 Ubuntu 18.04에 대응하는 Jetpack이라는 것을 설치하게 됩니다. 그리고 우리는 그 위에 ROS1 melodic 버전을 설치하는 것이 일반적인 절차입니다. 그런데, ROS2가 인기를 끌면서, 또 Ubuntu..
졸업작품을 IOT 기기를 활용하는 프로젝트를 하게 되어서 ubuntu 설치를 정리한다. IOT : Jetson Nano Labtop : Macbook Pro(m1) NVIDIA Jetson Nano OS 설치하기 Jetson Nano 는 기본 메모리 디스크가 없기 때문에, 별도의 Micro SD 메모리 카드를 이용하여 OS 를 구동해줘야 한다. Jetson Nano 의 경우 OS 를 설치하는 형태가 아닌, Image 를 메모리카드에 로드하여 구동하는 방식을 사용한다. 아래 내용에서 사용된 Image 는 Ubuntu Image 이다. 아래 프로그램들을 실행하는 곳은 mac os 기준이다. 1. Jetson Nano OS image Download https://developer.nvidia.com/embe..
1. ImageNet Classification with Deep Convolutional Neural Networks(AlexNet) https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf CNN 의 기초논문 2. Going deeper with convolutions(Inception-v1) arxiv.org/pdf/1409.4842v1.pdf Inception module 을 제시한 논문 3. Rethinking the Inception Architecture for Computer Vision (Inception-v2~3) arxiv.org/pdf/1512.00567v3.pdf Inceptio..
conda activate uniasm # 위에서 이미 uniasm 환경에 접속했으면 실행안해도 됨 sudo apt install radare2 # bin to asm, asm to bin 등을 지원하는 프로그램이다. 코드 유사도 검사시스템을 제작하면서 하나의 방법론으로 BCSA 를 담당하여 조사하고 코드를 돌려보게 되었다. BCSA 에 대한 설명은 아래 논문리뷰에 있다. https://rond-o.tistory.com/325 [논문 번역] A Survey of Binary Code Similarity 논문: A Survey of Binary Code Similarity본 논문은 binary diffing이 아닌 binary code diffing에 대한 survey를 제공한다.하지만 binary dif..
학교 프로젝트 관련하여 백엔드를 담당하게 되었다. 학교 서버는 학교 내부에서만 공개되어 있어서 학교 외부에서는 접근이 안되는 관계로 EC2 를 열기로 하여 이렇게 정리를 한다. 외주를 할 때 EC2, RDS, S3 는 지겹게 써 봤지만 매번 정리가 귀찮아서 하지 않다가 이번 기회에 정리한다. AWS 계정 생성 https://aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services aws.amazon.com 위의 링크에 접속하여 회원가입을 한다. 회원가입하는 시점에서 1년동안 프리티어가 유지되는데 AWS 에서 제공되는 많은 서비스를 1년도안 "무료"로 사용할 수 있다. EC2 구축 콘솔에 로그인 이후 왼쪽 위 혹은 중간에 검색창에 EC2를 검색한다...
회사에서 인수인계를 위해 작업하던 docker 를 옮겨야 하는 상황이 생겨서 이 글을 남긴다. 1. 실행중인 docker container 확인 $ docker ps 2. 컨테이너 이미지 작성 컨테이너에서 이미지를 작성한다. 이를 위해 docker commit 명령어를 사용한다. {CONTAINER_ID}를 실행 중인 컨테이너의 ID로 대체, {IMAGE_NAME}은 새로운 이미지의 이름을 지정한다. $ docker commit {CONTAINER_ID} {IMAGE_NAME} 3. 이미지 저장 확인 $ docker image list
파이썬으로 그래프 문제를 풀 때 아직 익숙하지 않아서 계속 헷갈려서 이 글에서 정리를 한다. 인접리스트 인접리스트는 정점의 개수가 많은데에 비해 간선의 개수가 적을 때 유용하다. 6 10 # 노드수 간선 수 0 1 # 출발노드 도착노드 0 2 0 3 1 2 1 3 1 4 3 5 4 3 4 5 # 인접리스트의 구현 node, edge = map(int, input().split()) graph = [[] for i in range(node)] for _ in range(edge): startNode, endNode = map(int, input().split()) graph[startNode].append(endNode) graph[endNode].append(startNode) 위의 소스코드는 무방향그래..