전체 글

나의 성장 일기가 되었으면 하는 블로그 contact : ryuhyojung@naver.com
ML & DL

[밑시딥1] Chapter 3. 신경망

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 기준입니다. ◼️ 3.1 퍼셉트론에서 신경망으로 ◾ 3.1.1 신경망의 예 신경망을 그림으로 나타내면 그림3-1처럼 된다. 가장 왼쪽 줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 한다. 은닉층의 뉴런은 사람 눈에는 보이지 않는다. ◾ 3.1.2 퍼셉트론 복습 위는 x1와 x2라는 두 신호를 입력 받아 y를 출력하는 퍼셉트론이다. 이를 간결한 형태로 다시 작성하기 위해 조건 분기 동작(0을 넘으면 1을 출력하고 그렇지 않으면 0을 출력)을 하나의 함수 h(x)로 나타내면 다음과 같다. 식 3.2는 입력 신호의 총 합이 h(x)라는 함수를 거쳐 변환되어 그 변환된 값이 y의 출력이 됨을..

ML & DL

[밑시딥1] Chapter 2. 퍼셉트론

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 기준입니다. ◾ 2.1 퍼셉트론 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 여기서는 1을 신호가 흐르는 것으로, 0을 신호가 흐르지 않는 것으로 사용한다. 그림 2-1은 입력으로 2개의 신호를 받은 퍼셉트론의 예이다. x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 의미한다. 그림에서 원을 뉴런 혹은 노드라고 부른다. 입력 신호가 뉴런에 보내질 때는 각각의 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값, θ)를 넘어설 때만 1을 출력하며 이를 뉴런이 활성화한다 라고 표현하기도 한다. 이를 수식으로 나타내면 식 2.1과 같다. 퍼셉..

ML & DL

[밑시딥1] Chapter 1. 헬로 파이썬

최근에 밑시딥 스터디를 시작하였다. 블로그에 공부 기록을 남기기로 했으며 주에 2번씩 스터디가 진행 된다. 아는 내용이라고 흘려 보지(듣지) 말고 복습한다는 생각으로 꼼꼼히, 무사히 스터디를 완주하는 것이 목표이다 :) 해당 포스팅은 "밑바닥부터 시작하는 딥러닝 1"을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 내용 기준입니다. ◾ 1.1 파이썬이란? 간단하고 배우기 쉬운 프로그래밍 언어로 알려져 있다. 오픈 소스이기 때문에 무료로 사용 가능하며 컴파일 과정도 없어 편리하다는 장점이 있다. 또, 파이썬 코드는 읽기 쉽고 성능도 뛰어나다. 때문에 구글, MS, 페이스북 등에서 파이썬을 자주 사용하고 있다. 파이썬은 numpy, scipy와 같은 라이브러리 때문에 과학 분야, 기계 학습, 데이..

Jetson

Jetson Nano | jetson-stats, jtop 설치, jtop install

jetson nano의 stat들을 TUI(Text User Interface)형태로 사용할 수 있는 명령어가 있다. jetson-stats로 jtop이라는 명령어를 사용하면 된다. 설치 방법은 아래와 같다. # 이미 했다면 생략ㅇㅇ sudo apt-get update sudo apt-get upgrade sudo apt-get install python-pip # jetson-stats 설치 sudo -H pip install -U jetson-stats # 재부팅 or restart 경고 뜨면 그거 실행하면 됨 sudo reboot # jetpack 버전 확인 및 cpu, 메모리 cuda, opencv 정보까지 확인 가능 jtop jtop이 제대로 설치 되었다면 이런 창으로 stats를 확인할 수 있다.

Jetson

Jetson Nano | JetPack 설치, pytorch 설치, OpenCV with CUDA(opencv cuda 가속화 설정)

◾ JetPack이란? NVIDIA JetPack SDK는 종단 간 가속 AI 애플리케이션을 구축하기 위한 가장 포괄적인 솔루션으로, JetPack은 Nvidia Jetson 모듈에서 하드웨어 가속 AI-at-the-edge 개발을 위한 전체 개발 환경을 제공한다. JetPack에는 부트로더가 포함 된 Jetson Linux , Linux 커널, Ubuntu 데스크탑 환경 및 GPU 컴퓨팅, 멀티미디어, 그래픽 및 컴퓨터 비전의 가속화를 위한 완전한 라이브러리 세트가 포함되어 있다. ◾ JetPack 설치 JetPack은 SD card에 JetPack Image를 다운 받아서 설치해야 한다. 1. jetpack 다운로드 https://developer.nvidia.com/embedded/jetpack J..

Python

[pytorch] transpose, permute 함수

pytorch로 permute 함수를 사용하다가 transpose랑 비슷한 것 같은데 정확히 차이를 모르고 있구나 싶어서 찾아보고 기록하기 위해 해당 포스트를 작성하게 되었다. ◾ permute() 먼저, permute 함수는 모든 차원을 맞교환 할 수 있는 함수로 차원을 교환하면서 contiguous한 성질이 사라진다는 특징이 있다. permute() 괄호 안에 인덱스들을 바꾸고자 하는 위치대로 적어주면 된다. x = torch.rand(1, 2, 3) x1 = x.permute(2, 1, 0) >> output [3, 2, 1] 위 예시에서는 기존에 0,1,2번 인덱스를 가진 [1,2,3]을 2,1,0번 인덱스 순서로 바꿔 [3,2,1]로 바꿔주었기 때문에 output이 [3,2,1]이 되는 것이다...

논문 리뷰

[논문 리뷰] Lite Pose: Efficient Architecture Design for 2D Human Pose Estimation, Yihan Wang et al., 2022

Lite Pose: Efficient Architecture Design for 2D Human Pose Estimation, Yihan Wang et al., 2022 을 읽고 정리, 요약한 글입니다. ▪️ 본 논문의 기여 내용 요약 gradual shrinking 실험을 설계하여 high-resolution branch가 저연산 영역의 모델에 중복된다는 것을 밝힌다. bottom-up pose estimation을 위한 효율적인 아키텍처인 LitePose를 제안한다. 또한 fusion deconv head와 large kernel conv를 포함해 LitePose의 capicity를 향상 시키는 두 가지 기술을 소개한다. Microsoft COCO와 CrowdPose라는 두 가지 benchmark d..

논문 리뷰

[논문 리뷰] Lite-HRNet: A Lightweight High-Resolution Network, Changqian Yu, Bin Xiao, et al., 2021

Lite-HRNet: A Lightweight High-Resolution Network, Changqian Yu, Bin Xiao, et al., 2021 을 읽고 정리, 요약한 글입니다. ⏹️ Abstract 본 논문은 human pose estimation을 위한 효율적인 high-resolution network인 LiteHRNet을 제시한다. ShuffleNet의 효율적인 shuffle block을 HRNet(high-resolution network)에 적용하여 MobileNet, ShuffleNet, Small HRNet과 같은 인기 있는 lightweight network보다 더 강력한 성능을 산출하는 것으로 시작한다. shuffle block에서 많이 사용되는 pointwise(1 × 1..

논문 리뷰

[논문 리뷰] HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation, Bowen Cheng, et al., 2020

HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation, Bowen Cheng, et al., 2020 논문을 읽고 정리, 요약한 글입니다. ⏹ Abstract Bottom-up human pose estimation은 스케일 변화 문제로 인해 작은 사람의 정확한 포즈를 예측하는 데 어려움이 있다. 본 논문에서는 high-resolution feature pyramid를 사용하여 scale-aware representation을 학습하는 새로운 bottom-up human pose estimation 방법인 HigherHRNet을 소개한다. 학습을 위한 multi-resolution supervision과 추..

Python

[pytorch] .detach().cpu().numpy()

pytorch를 사용하다 보면 모듈을 통해 나온 tensor를 사용할 일이 많은데, GPU에 올라가 있는 tensor를 이용하려면 numpy 또는 list로 변환하여야 한다. tensor를 numpy 또는 list로 변환하는 방법은 조금만 찾아보면여러 함수들이 나오긴 하지만 각 함수들을 사용하는 순서가 꽤 중요하기 때문에 자주 쓰는 방법을 기록한다. ◾ detach() pytorch는 tensor에서 이루어진 모든 연산을 기록(graph)해 놓는데 이 연산 기록에서 역전파가 이루어지게 된다. detach() 함수는 이 연산 기록에서 역전파를 중단하고 분리한 tensor를 반환한다. ◾ cpu() GPU 메모리에 올라가 있는 tensor를 CPU 메모리로 복사하는 함수이다. 이후에 numpy로 변환하기 위..

토오오끼
초보 개발자의 일기장