Skip to content

szjung-test/mainpractice

Repository files navigation

docker-compose ์ด์šฉํ•ด์„œ mysql ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ Very nice

์ถœ์ฒ˜: https://codegear.tistory.com/66

  • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ํด๋”์— docker-compose.yml ์ƒ์„ฑ
docker-compose up -d

@staticmethod์™€ @classmethod ์ฐจ์ด

https://dongwooklee96.github.io/post/2021/03/03/%ED%8C%8C%EC%9D%B4%EC%8D%AC-classmethod%EC%99%80-staticmethod-%EC%B0%A8%EC%9D%B4/

FTP๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ „์†ก

  • curl๋กœ ๋ณดํ˜ธ๋œ FTP ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด -u ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
  • ๋กœ๊ทธ์ธํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ FTP ์„œ๋ฒ„์—์„œ ๋‹จ์ผ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
  • ํŒŒ์ผ์„ FTP ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•˜๋ ค๋ฉด ์—…๋กœ๋“œํ•  ํŒŒ์ผ ์ด๋ฆ„ ๋’ค์— -T๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

์ฟ ํ‚ค๋ฅผ ๋ณด๋‚ด๊ธฐ

  • ์›๊ฒฉ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTP ์š”์ฒญ์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ์ ์œผ๋กœ Curl์ด ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ๋•Œ ์ฟ ํ‚ค๋Š” ์ „์†ก๋˜๊ฑฐ๋‚˜ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์„œ๋ฒ„๋กœ ์ฟ ํ‚ค๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด -b ์Šค์œ„์น˜ ๋‹ค์Œ์— ์ฟ ํ‚ค ๋˜๋Š” ๋ฌธ์ž์—ด์ด ๋“ค์–ด ์žˆ๋Š” ํŒŒ์ผ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด Oracle Java JDK rpm ํŒŒ์ผ jdk-10.0.2_192-x64_bin.rpm์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ ๊ฐ€์ง„ oraclelicense๋ผ๋Š” ์ฟ ํ‚ค๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

curl -L -b "oraclelicense=a" -O http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm
  • ํ”„๋ก์‹œ ์„œ๋ฒ„์— ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ -U(--proxy-user) ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ฅผ ์ฝœ๋ก (user:password)์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
curl -U username:password -x 192.168.44.1:8888 http://linux.com/

reference : https://jjeongil.tistory.com/1313

init.py ๋ž€

  • ํด๋”(๋””๋ ‰ํ„ฐ๋ฆฌ)๊ฐ€ ํŒจํ‚ค์ง€๋กœ ์ธ์‹๋˜๋„๋ก ํ•˜๋Š” ์—ญํ• ๋„ ์žˆ๊ณ , ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ํŒจํ‚ค์ง€๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

git push -u origin master

  • set upstram for git pull/status
  • ๊ธฐ๋Šฅ ํ™•์ธ ํ•˜๋Š” ๋ฒ• git push -help

SSH(Secure Shell Protocol)

  • ํŒŒ์›Œ์‰˜์„ ํ†ตํ•œ ssh ์ ‘์† ๋ฐฉ๋ฒ•
#default 22๋ฒˆ ํฌํŠธ
ssh [email protected]
  • ssh [์ ‘์†ํ•  username]@[์„œ๋ฒ„์ฃผ์†Œ] -p [sshํฌํŠธ๋ฒˆํ˜ธ]

SCP(Secure Copy)

SCP๋Š” SSH ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ผ์„ ์ „์†กํ•˜๋Š” ํ”„๋กœํ† ์ฝœ(SSH ํฌํŠธ ์‚ฌ์šฉ) ํŒŒ์ผ ์ „์†ก๋งŒ ํ—ˆ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

  • ๋กœ์ปฌ -> ์›๊ฒฉ ํŒŒ์ผ ์ „์†ก
  • SCP [์ ‘์†ํ•  username]@[์„œ๋ฒ„์ฃผ์†Œ]:[ํŒŒ์ผ๊ฒฝ๋กœ][์ €์žฅํ•  ๊ฒฝ๋กœ]
# ์œˆ๋„์šฐ -> ๋ฆฌ๋ˆ…์Šค
scp C:\Users\user\test.txt [email protected]:/tmp/

# ๋ฆฌ๋ˆ…์Šค -> ์œˆ๋„์šฐ
scp [email protected]:/tmp/test.txt C:\Users\user

# ํฌํŠธ ์„ค์ •
scp -P 10022 [email protected]:/tmp/test.txt C:\Users\user\

# ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‹จ์œ„ ์ „์†ก
scp -r [email protected]:/tmp/test C:\Users\user\

# ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด ๋ชจ๋“ ํŒŒ์ผ ์ „์†ก
scp [email protected]:/tmp/* C:\Users\user\

6์›” 9์ผ ์˜ค์ „ ๋ฐฐ์šด ๋‚ด์šฉ

  • dorker ์ƒ์„ฑ๊ณผ ์‚ญ์ œ๋Š” docker ์„œ๋ฒ„์ธ SSH์—์„œ ํ•ด์ค€๋‹ค!
  1. docker ์„œ๋ฒ„์—์„œ ์•ˆ์“ฐ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ง€์šฐ๊ธฐ

    $ cd newworld #[๋‚ด๊ฐ€ ์ง€์šฐ๊ณ ์žํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ]
    $ make rm
    $ make rmi
  2. ๋‹ค์‹œ ๋‚ด๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑํ•˜๊ธฐ(

    # cd newworld #[๋งŒ๋“ค๊ณ ์žํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ] ์„ค์ •์„ Makefile์—์„œ ํ•ด์ฃผ๊ณ  ์‹คํ–‰
    $ make build
    $ make run
  3. Dockerfile ๋“ค์–ด๊ฐ€์„œ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ apt ์„ค์น˜ํ•˜๊ธฐ

    # install
    RUN apt-get update
    RUN apt-get git 
    
  4. ๋‚ด๊ฐ€ ๋งŒ๋“  ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ์ด๋™ํ•˜๊ธฐ

    # Attach visual studio ๋ˆŒ๋Ÿฌ์„œ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ์ฐฝ ์—ด๊ธฐ
    
  5. ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋‚ด์šฉ ๊นƒ์œผ๋กœ ์˜ฌ๋ฆฌ๊ธฐ

    $ git remote add origin https://github.com/szjung-test/mainpractice.git
    $ git pull origin master
    $ git add hello.html
    $ git commit -m "docker first commit"
    $ git push -u origin master
  6. torch์—์„œ ๋žœ๋ค์‹œ๋“œ๊ฐ’ ๊ณ ์ •ํ•˜๋Š”๋ฒ•

    import torch
    torch.random.manual_seed(777)
  7. ์ฃผ์„ ๊ฟ€ํŒ

    ctrl + /
    

6์›” 10์ผ ๋ฐฐ์šด ๊ฟ€ํŒ

  1. shift + Delete = ์˜๊ตฌ ์‚ญ์ œ

  2. Dockerfile ์— opencv ์˜ค๋ฅ˜ํ•ด๊ฒฐ apt

    RUN apt-get update && apt-get install -y sudo
    RUN apt-get install -y libgl1-mesa-glx
    
  3. ๊ธฐ์กด ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œํ›„ ๋‹ค์‹œ ์ƒ์„ฑ

    make rm
    make rmi
    make build
    make run
  4. newworld ์ปจํ…Œ์ด๋„ˆ์—์„œ ์—…๋ฐ์ดํŠธ

    pip install --upgrade pip
    pip install torch torchvision sklearn numpy seaborn opencv-python
    

์ปจํ…Œ์ด๋„ˆ์— ์„ค์ • ๋‹ค์‹œ ์™„๋ฃŒ!

์˜ค๋Š˜ ์„ค์น˜ํ•œ ๊ฒƒ

  1. VirtualBox์— Ubuntu server ๋‹ค์šด๋ฐ›๊ณ  Docker ์„ค์น˜
sudo apt-get update && upgrade
sudo apt-get install ca-certificates \ curl \ gnupg \ lsb-release

sudo apt install docker.io
sudo apt-get update
sudo docker version
sudo apt install net-tools
ifconfig

6์›” 13์ผ ๊ฟ€ํŒ

  1. git pull origin master
  • origin์ด ์›๊ฒฉ์ €์žฅ์†Œ ์ด๋ฆ„์ด ๋˜๊ณ  master ๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๋œป
  1. ssh-keygen
  • ssh ํ‚ค๊ฐ€ ์ €์žฅ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” .ssh ๋””๋ ‰ํ„ฐ๋ฆฌ

    • id-rsa = ํ”„๋ผ์ด๋น—ํ‚ค
    • id-rsa.pub = ํผ๋ธ”๋ฆญํ‚ค
  1. N/.ssh. ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ํ•˜์œ„์— ๋งŒ๋“ค์–ด์ง

  2. git pull ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ์ •๋ณด๊ฐ€์ ธ์˜ค๊ธฐ

6์›” 14์ผ ๊ฟ€ํŒ

git branch ํ™œ์šฉ ๊ด€๋ฆฌ๋ฒ•

[HEAD] ํ•ด๋‹น ๋ธŒ๋žœ์น˜์˜ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์ด ํ•ด๋‹น ๋ถ€๋ถ„

์˜ˆ์‹œ)

Toy Story@DESKTOP-O3V1LK3 MINGW64 ~/Documents/git-test (feat/b)
$ git log
commit 6a13f83171fa4a0af52170fb256cba034bb2c4f2 (HEAD -> main, origin/main, origin/HEAD)
Merge: 1b7fde2 36d7d66
Author: szjung-test <[email protected]>
Date:   Tue Jun 14 15:09:11 2022 +0900

    Merge pull request #1 from szjung-test/feature/comment

    ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

checkout ์€ ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด

checkout -b ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜ HEAD ์ถ”๊ฐ€ํ•˜๊ธฐ

์˜ˆ์‹œ)

git checkout -b "feature-layout"

HEAD -> feature-layout, origin/main, origin/HEAD, main

$ git checkout -b "feature-layout"
Switched to a new branch 'feature-layout'

Toy Story@DESKTOP-O3V1LK3 MINGW64 ~/Documents/git-test (feature-layout)
$ git log
commit 6a13f83171fa4a0af52170fb256cba034bb2c4f2 (HEAD -> feature-layout, origin/main, origin/HEAD, main)
Merge: 1b7fde2 36d7d66
Author: szjung-test <[email protected]>
Date:   Tue Jun 14 15:09:11 2022 +0900

    Merge pull request #1 from szjung-test/feature/comment

    ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Merge ๋จธ์ง€

  • ๋ธŒ๋žœ์น˜์™€ ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ์น˜๋Š” ๋ช…๋ น์–ด

6์›” 15์ผ ๊ฟ€ํŒ

  • [๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค URL] (https://www.miricanvas.com/).
  • ์žฅ์  : ๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ppt๋ฅผ ์ด์˜๊ฒŒ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์  : ์•„์ด์ฝ˜ ์ปค์„œ๊ฐ€ ๋‹ค ์ปค์„œ ์„ธ์„ธํ•˜๊ฒŒ ์กฐ์ •์ด ์–ด๋ ต๋‹ค.

6์›” 16์ผ ๊ฟ€ํŒ

  • git brach๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฒ„์ „ ๊ด€๋ฆฌ์— ์šฉ์ดํ•˜๋‹ค.

DeepLearing by pytorch

  • Adam() ์€ SGD์˜ ๋ณ€ํ˜• ํ•จ์ˆ˜ ์ด๋‹ค.
  • nn.MSELoss() : ๋‘ ๊ฐœ์˜ ๊ฐ™์€ ํฌ๊ธฐ ํ–‰๋ ฌ์„ ๋ฐ›์•„ ๊ฐ ์ž๋ฆฌ์˜ ์ฐจ์ด์— ์ œ๊ณฑํ•ด์„œ ํ‰๊ท  ๊ฐ์ฒด ์ƒ์„ฑ
  • criterion : (decoded - y)^2

6์›” 17์ผ ๊ฟ€ํŒ

  • Classification : ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€ ์•ˆ์— ์–ด๋–ค object๊ฐ€ ์žˆ๋Š” ์ง€์— ๋”ฐ๋ผ class(label)์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํ–‰์œ„

  • Localization : ์ด๋ฏธ์ง€ ์•ˆ์˜ object๊ฐ€ ์–ด๋А ์œ„์น˜์— ์žˆ๋Š”์ง€ ์ •๋ณด๋ฅผ ์ถœ๋ ฅ

  • Semantic segmentation : classification + Localization

  • Instance segmentation : ๊ฐ™์€ class์—ฌ๋„ ์„œ๋กœ ๋‹ค๋ฅธ instance๋“ค์„ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ฆ‰ object detection์ฒ˜๋Ÿผ ์ด๋ค„์ง„๋‹ค.

    • object segmentaion : ์„œ๋กœ ๋‹ค๋ฅธ object๊ฐ€ ์„ž์—ฌ ์žˆ์–ด๋„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ, ์‚ฌ์ง„์— ๋ณด์ด๋Š” ํ•ด๋‹น object ๋“ค์„ ๊ฐ๊ฐ ๊ณจ๋ผ๋ƒ„

์ถœ์ฒ˜ : https://velog.io/@cha-suyeon/%EB%94%A5%EB%9F%AC%EB%8B%9D-Object-Detection-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC

6์›” 21์ผ ๊ฟ€ํŒ

  • ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐฉ๊ธˆ ๋‹ซ์€ ํŽ˜์ด์ง€ ๋ณต๊ตฌ ๋ฐฉ๋ฒ• : ctrl + shift + t
  • ์šฐํด๋ฆญ ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ ์‚ฌ์šฉ๋ฐฉ๋ฒ• : f12 , f1, setting :disable javascript ์ฒดํฌ

6์›” 23์ผ ๊ฟ€ํŒ

  • ๋”ฅ๋Ÿฌ๋‹ ๋ถ„์•ผ๋ณ„ State-of-the-art(SOTA) ํ™•์ธ ๊ฐ€๋Šฅ ์‚ฌ์ดํŠธ [site]

  • Pose Estimation ๋ถ„์•ผ๊ฐ€ ๊ต‰์žฅํžˆ ์š”์ฆ˜ ๊ฐ๊ด‘ ๋ฐ›๋Š” ๋ถ„์•ผ

  • ํฌ๊ฒŒ Top-down ๋ฐฉ์‹๊ณผ Botton-up ๋ฐฉ์‹์œผ๋กœ ํฌ๊ฒŒ ๋‚˜๋‰จ

6์›” 27์ผ ๊ฟ€ํŒ

RNN

  • RNN์€ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ์ „์ฒด ๋‚ด์šฉ์„ ํ•™์Šตํ•œ๋‹ค.
  • ์ˆœ์ฐจ์  ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ๋ชจ๋‘ ๋‚ดํฌ
  • RNN์€ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ํ•˜๋‚˜์”ฉ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ์ž…๋ ฅ๋œ ๋ฒกํ„ฐ๋“ค์„ ์ข…ํ•ฉํ•ด ์€๋‹‰ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ฌ
  • LSTM, GRU, language modeling, text sentiment analysis, machine translation

6์›” 28์ผ ๊ฟ€ํŒ

CNN๋ชจ๋ธ

  • Conv - Activation - pool
  • stride - ํ”ฝ์…€ ์›€์ง์ด๊ณ  ์ž‘๊ฒŒ ์••์ถ• ์‹œํ‚จ๋‹ค
  • $N-F\over S$ + 1
  • feature map - ์ปจ๋ณผ๋ฃจ์…˜ ๊ฑฐ์นœ ์ด๋ฏธ์ง€์˜ ํŠน์ง• ์ถ”์ถœ
  • Pooling - ํ•„ํ„ฐ๊ฐ€ ์ง€๋‚˜๊ฐˆ ๋•Œ๋งˆ๋‹ค ํ”ฝ์…€ ๋ฌถ์Œ
    • ํ‰๊ท  ํ’€๋ง
    • ์ตœ๋Œ“๊ฐ’ ํ’€๋ง

Alex-Net

  • Conv - Normalize - Activation - Pool

6์›” 29์ผ ๊ฟ€ํŒ

  • ์‘์šฉ RNN

    • LSTM : ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค ๋ฌธ์ œ ํ•ด๊ฒฐ, sequential ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    • GRU : RNN ์„ ํฌํ•จํ•˜๋Š” ์‹ ๊ฒฝ๋ง, ํŒŒ์ดํ† ์น˜์˜ nn.Module ์ƒ์† ๋ฐ›์Œ
  • RNN์€ ์ž…๋ ฅ์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด gradient explosion, vanishing gradient ๋ฐœ์ƒ

  • ์€๋‹‰๋ฒกํ„ฐ ์ •์˜ : __init__state()

  • forward ํ•จ์ˆ˜ ์ •์˜ : self.gru(๋ฐฐ์น˜์‚ฌ์ด์ฆˆ, ์ž…๋ ฅ x ๊ธธ์ด, ์ˆจ๊ฒจ์ง„ ์ฐจ์›) 3d ํ…์„œ

  • train, evaluate

6์›” 30์ผ ๊ฟ€ํŒ

  • ์ธ์ฝ”๋” : ์›๋ฌธ์˜ ๋‚ด์šฉ์„ ํ•™์Šตํ•˜๋Š” RNN, ์›๋ฌธ์˜ ๋œป๊ณผ ๋‚ด์šฉ์„ ์••์ถ•ํ•˜์—ฌ ๋ฌธ๋งฅ ๋ฒกํ„ฐ(context vector)
  • ๋””์ฝ”๋” : ์ธ์ฝ”๋”์˜ ๋‚ด์šฉ ๋ฒกํ„ฐ ์ž…๋ ฅ ๋ฐ›์•„ ํ† ํฐ๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ์˜ˆ์ธก

adverdarial attack ์ ๋Œ€์  ๊ณต๊ฒฉ

  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์•ฝ์  ๋ฐœ๊ฒฌ

GAN(Generative Adversarial Network) ์ƒ์„ฑ์  ์ ๋Œ€ ์‹ ๊ฒฝ๋ง

  • ์ƒ์„ฑ์ž(Generator)์™€ ์‹๋ณ„์ž(Discriminator)๊ฐ€ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ
  • ์ƒ์„ฑ์ž(Generator) : ์ƒ์„ฑ๋œ z๋ฅผ ๋ฐ›์•„ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ํ•™์Šต
  • ์‹๋ณ„์ž(Discriminator) : ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ์ƒ์„ฑ์ž๊ฐ€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋„๋ก ํ•™์Šต

์‹ ๊ฒฝ๋ง ์Šคํƒ€์ผ ํŠธ๋žœ์Šคํผ(Neural Style Transfer)

  • ์ฝ˜ํ…์ธ  ์ด๋ฏธ์ง€(C)
  • ์Šคํƒ€์ผ ์ด๋ฏธ์ง€(S)

7์›” 1์ผ ๊ฟ€ํŒ

VGG๋ชจ๋ธ ์ƒ์„ฑ

  • torchvisions.models ์ œ๊ณต ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ ์‚ฌ์šฉ
  • 2๊ฐœ ๋ชจ๋“ˆ ๊ตฌ์„ฑ
  • ๋ชจ๋“  ์ปจ๋ณผ๋ฃจ์…˜ ๋ธ”๋ก์€ feature ๋ชจ๋“ˆ์— ์ •์˜ ์ „์—ด๊ฒฐ์ด๋‚˜ ์„ ํ˜•๋ ˆ์ด์–ด๋Š” Classifier ๋ชจ๋“ˆ ์ •์˜
    • ์ปจํ…์ธ  ์˜ค์ฐจ
    • ์Šคํƒ€์ผ ์˜ค์ฐจ

VGGNet

  • 3*3 ์ž‘์€ ํ•„ํ„ฐ ๋ชจ๋“  Conv ๋ ˆ์ด์–ด ์‚ฌ์šฉ
  • ์ž‘์€ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ ๋” ๋งŽ์€ ReLUํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ๋” ๋งŽ์€ ๋น„์„ ํ˜•์„ฑ ํ™•๋ณด

7์›” 4์ผ

  • ํ•จ์ˆ˜๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๊ณ  F12 ๋ˆ„๋ฅด๋ฉด ํด๋ž˜์Šค๊ฐ€ ์„ ์–ธ๋œ ๋ถ€๋ถ„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฏ€๋กœ ๊ทธ ์ž‘๋™์›๋ฆฌ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ
  • opencl ๋ณ‘๋ ฌ ์ปดํ“จํŒ…์— ์ด์šฉ

7์›” 19์ผ

  • FastAPI main.py ์‹คํ–‰ ์˜ค๋ฅ˜
szjung@esp:/workspace/newworld/FastAPI$ uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['/workspace/newworld/FastAPI']
ERROR:    [Errno 98] Address already in use
  • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋””ํดํŠธ ํฌํ„ฐ๊ฐ€ ์ด๋ฏธ ์‚ฌ์šฉ์ค‘์ด์—ฌ์„œ ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์—
  • uvicorn main:app --reload --host 0.0.0.0 --port 6565 ์ด๋ ‡๊ฒŒ ๋’ค์— ์•ˆ์“ฐ๋Š” ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์ค€๋‹ค.

7์›” 20์ผ

  • ๋„์ปค ๋กœ๊ทธ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

  • ๋„์ปค make up ํŒŒ์ผ ์‹คํ–‰ํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ๋Š” ๋ช…๋ น์–ด

  • docker logs -f --tail 30 apisz1(ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ์ปจํ…Œ์ด๋„ˆ)

  • iterm2 ๋ฅผ ์ด์šฉํ•ด์„œ FastAPI ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ค์Šตํ•ด๋ณธ๋‹ค.

7์›” 25์ผ

  • ssh ์‚ฌ์šฉ
  • Django ๋Š” MVT ๋ชจ๋ธ์ด๋‹ค.(Model, View, Template)
  • Template = main.html (ํ…œํ”Œ๋ฆฟ, HTML, CSS)
  • View = views.py, urls.py
  • url -> views.py -> templates / main.html

7์›” 26์ผ

  • Batch Normalization
    • Gradient vanishing/exploding ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง
    • squash : sigmoid ์ด์šฉ
    • Training : mini batch ๋Œ€์‹  moving averages
    • Higher learning rate : U ์— ๋Œ€ํ•ด์„  ๋ณ€ํ™” ์—†๊ณ , ์˜คํžˆ๋ ค gradient ๊ฐ์†Œ
    • CNN์—์„œ BN Input ๋”ํ•œ๋‹ค.
    • BN์ด ์ฃผ๋Š” ํšจ๊ณผ Local optimum ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์ค„์ด๋Š” ํšจ๊ณผ
    • x,y ์ถ• ๋„๋ฉ”์ธ์„ [0,1] ๋ฒ”์œ„๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ •๊ทœํ™”๋ฅผ ํ•œ๋‹ค.

7์›” 27์ผ

  • Django ์Šคํ„ฐ๋”” ๊ฟ€ํŒ!
  • ๊ฐ€์ƒํ™˜๊ฒฝ์ด ํ•„์š”ํ•œ ์ด์œ ? : ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋“ค์„ ํ•œ๋ฐ ๋ชจ์•„์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

1. Virtualenv

$ pip install virtualenv
  • ์„ค์น˜ํ›„
$ virtualenv project_env
  • ๊ฐ€์ƒํ™˜๊ฒฝ์— ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค์ด ํ˜„์žฌ ์œ„์น˜ ์•„๋ž˜์˜ project_env ๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์„ค์น˜ ๋˜๋Š” ์‹
  • ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด activate ๋ช…๋ น์„ ์ž…๋ ฅํ•œ๋‹ค
$ source project_env/bin/activate
  • ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ๋น ์ ธ๋‚˜์˜ค๋Š”๋ฒ•
deactivate

2. venv

  • ํŒŒ์ด์ฌ 3.4 ๋ถ€ํ„ฐ๋Š” venv๋ผ๋Š” ํŒจํ‚ค์ง€๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋˜์–ด ์žˆ์–ด์„œ ๋”ฐ๋กœ virtualenv ์„ค์น˜ํ•˜์ง€ ์•Š์•„๋„ ๊ฐ€์ƒํ™˜๊ฒฝ ์ด์šฉ ๊ฐ€๋Šฅ
$ python -m venv project_env
  • ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ virtualenv ์™€ ๋™์ผ
$ project_env/scripts/activate

3. ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

  • ๋กœ์ปฌ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”์‹œํ‚ค๊ณ  ํ•„์š”ํ•œ ๋ชจ๋“  ํŒจํ‚ค์ง€๋“ค์ด ์„ค์น˜๋˜์—ˆ์œผ๋ฉด, ์–ด๋А ํ™˜๊ฒฝ์—์„œ๋“  ๊ฐ™์€ ํŒจํ‚ค์ง€๋“ค์ด ํ•œ ๋ฌถ์Œ์œผ๋กœ ์„ค์น˜
  • requirements.txt ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Œ
$ pip freeze > requirements.txt
  • ์›๊ฒฉ ์„œ๋ฒ„์—์„œ ์ดํŒŒ์ผ์„ ์ด์šฉํ•ด ์ผ๊ด„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
$ pip install -r requirements.txt

Django ์ปดํฌ๋„ŒํŠธ

  • users
  • other services
  • web server
  • URLS.py
  • Views
  • models
  • template

Zen of python

  • ํŒŒ์ด์ฌ์ด ์ถ”๊ตฌํ•˜๋Š” ์ฒ ํ•™
python3
import this

ํ”„๋ ˆ์ž„์›Œํฌ VS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ํ”„๋ ˆ์ž„์›Œํฌ
    • ๋‚ด์ฝ”๋“œ > Django > Serving
    • ์žฅ๊ณ ๊ฐ€ ์„œ๋น™์˜ ์ฃผ์ฒด ๋‚ด์ฝ”๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์„œ ์žฅ๊ณ ์—์„œ ๊ตฌํ˜„ํ•จ
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ > ๋‚ด์ฝ”๋“œ > Serving
    • ๋‚ด์ฝ”๋“œ๊ฐ€ ์„œ๋น™์˜ ์ฃผ์ฒด ๋‚ด์ฝ”๋“œ๋ฅผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ๊ตฌํ˜„ํ•จ

7์›” 28์ผ

  • SRGAN ์Šคํ„ฐ๋””
  • ๊ธฐ์กด PSNR๊ณผ MSE๋Š” pixel wise image ์ฐจ์ด ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜ ๋˜์–ด ์žˆ์–ด์„œ high texture datail์†จ ๊ฐ™์€ ์ง€๊ฐ์ (perceptual)์ฐจ์ด๋ฅผ ์žก๋Š”๋ฐ ํ•œ๊ณ„ ์กด์žฌ
  • But SR GAN ๋ชจ๋ธ์„ ๋Œ๋ฆฌ๊ณ  MOS Test๋ฅผ ํ•œ ๊ฒฐ๊ณผ ResNet๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ ๊ฒฐ๊ณผ ๋„์ถœ

8์›” 1์ผ

  • ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋Š” 4๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ด์œ 
  1. ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์ „์— ์ •์˜ํ•˜๋ฉด ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐ๋„ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.
  2. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ํ•„์š”ํ•œ ๋งŒํผ ์œ ์—ฐํ•˜์ง€ ์•Š๋‹ค. (๊ธฐ์กด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋ณ€๊ฒฝํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค)

์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™ 4๊ฐ€์ง€ ์ค‘์š” ์š”์†Œ

  1. ๋ฐฉ๋ฒ• - ๊ณ„ํš์ˆ˜๋ฆฝ๊ณผ ์ถ”์ •, ์‹œ์Šคํ…œ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ๋ถ„์„, ์ž๋ฃŒ๊ตฌ์กฐ, ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ฝ”๋”ฉ, ํ…Œ์ŠคํŒ…, ์œ ์ง€๊ด€๋ฆฌ

  2. ๋„๊ตฌ - ์–ด๋–ค ์ผ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ƒ์‚ฐ์„ฑ ํ˜น์€ ์ผ๊ด€์„ฑ์„ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค (์š”๊ตฌ ๊ด€๋ฆฌ ๋„๊ตฌ, ๋ชจ๋ธ๋ง ๋„๊ตฌ, ํ˜•์ƒ ๊ด€๋ฆฌ๋„๊ตฌ, ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ๋„๊ตฌ)

  3. ์ ˆ์ฐจ - ๋ฐฉ๋ฒ•๊ณผ ๋„๊ตฌ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ•ฉ๋ฆฌ์ ์ด๊ณ  ์ ์‹œ์— ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

  4. ์‚ฌ๋žŒ - ์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™์—์„œ๋Š” ๋งŽ์€ ๊ฒƒ(์ˆ˜๋ฆฝ, ๊ฐœ์„ , ์œ ์ง€ ๋“ฑ) ์‚ฌ๋žŒ๊ณผ ์กฐ์ง์— ์˜ํ•ด์„œ ์›€์ง์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๋žŒ์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์ƒ๋Œ€์ ์œผ๋กœ ํผ

  • ํƒ€๋‹น์„ฑ ๊ฒ€ํ†  โ†’ ๊ฐœ๋ฐœ ๊ณ„ํš โ†’ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ โ†’ ์„ค๊ณ„ โ†’ ๊ตฌํ˜„ โ†’ ํ…Œ์ŠคํŠธ โ†’ ์šด์šฉ โ†’ ์œ ์ง€๋ณด์ˆ˜

โ–ฝ๋‚˜์„ ํ˜• ๋ชจ๋ธ

ํŠน์ง• - ํ”„๋กœํ† ํƒ€์ž…์„ ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „์‹œ์ผœ ์ตœ์ข… ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊นŒ์ง€ ์ด๋ฅด๊ฒŒ ํ•˜๋Š” ์ ์ฆ์ ์ธ ๋ฐฉ๋ฒ•(Incremental development)

  • ์œ„ํ—˜๊ด€๋ฆฌ๊ฐ€ ์ค‘์‹ฌ์ธ ์ƒ๋ช…์ฃผ๊ธฐ ๋ชจ๋ธ

โ–ฝ์ ์ฆ์  ๊ฐœ๋ฐœ(Incremental development)

  • ์ ์ฆ์  ๊ฐœ๋ฐœ์€ ๊ณ„์† ์ค‘๊ฐ„ ๋ฒ„์ „๋“ค์„ ์ถ”๊ฐ€ํ•ด ์ด์ „ ๋ฒ„์ „์— ๊ธฐ๋Šฅ์„ ๋”ํ•ด๊ฐ€๋ฉฐ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ช…์„ธํ™”(specification), ๊ฐœ๋ฐœ(development), ๊ฒ€์ฆ(validation) ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค๋Š” ํŠน์ง•

  • ์˜ˆ๋ฅผ ๋“ค๋ฉด "์›น์„ ๋งŒ๋“ค ๋•Œ ๋ฉ”์ธํ™”๋ฉด, ๊ฒŒ์‹œํŒ, ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋“ฑ์ด ํ•„์š”ํ•˜๊ณ  AWS๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ" ์ •๋„์˜ ์„ค๋ช…

์ˆ˜ํ–‰๋‹จ๊ณ„ - ๊ณ„ํš์ˆ˜๋ฆฝ(Planning) โ†’ ์œ„ํ—˜๋ถ„์„(Risk Analysis) โ†’ ๊ฐœ๋ฐœ/๊ตฌ์ถ•(Engineering) โ†’ ๊ณ ๊ฐํ‰๊ฐ€(Evaluation)

  • ๋‚˜์„ ํ˜• ๋ชจ๋ธ์€ Less Document oriented, ์ฆ‰ ๋ฌธ์„œ๋ฅผ ํ†ตํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•

  • ์• ์ž์ผ ๋ชจ๋ธ์€ Code oriented ์‹ค์งˆ์ ์ธ ์ฝ”๋”ฉ์„ ํ†ตํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•

  • ๋‚˜์„ ํ˜• ๋ชจ๋ธ์€ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์œ„ํ—˜์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ตœ์†Œํ™” ํ•˜๋ ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง„๋‹ค.

  • ์• ์ž์ผ ๋ชจ๋ธ์€ ํ’ˆ์งˆ์˜ ์ €ํ•˜ ์—†์ด ๋ณ€ํ™”๋ฅผ ์ˆ˜์šฉํ•˜๊ณ  ํ˜‘์—…์„ ๊ฐ•์กฐํ•˜๊ณ  '์ œํ’ˆ์˜ ๋น ๋ฅธ ์ธ๋„'๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๋ฐ˜๋ณต์  ๋ฐฉ๋ฒ•

  • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋‹จ๊ณ„ ์ดˆ์  : "์–ด๋–ป๊ฒŒ(How to)"๊ฐ€ ์•„๋‹ˆ๋ผ ๊ณ ๊ฐ ๊ด€์ ์˜ "๋ฌด์—‡(what)"์— ๋งž์ถฐ์ ธ ์žˆ๋‹ค.

  • "๋ฌด์—‡(what)=๊ธฐํš์ž"์„ "์–ด๋–ป๊ฒŒ(How to)" ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ๊ฐœ๋ฐœ์˜ ๋ฌธ์ œ์™€ ์ผ์˜ ํŠน์„ฑ์ƒ ๋งŽ์€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

  • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„์€ ์‘์šฉ๋ถ„์•ผ(Application) ๊ด€์ ์—์„œ ์‹œ์Šคํ…œ์ด ๋ฌด์Šจ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดˆ์ ์„ ๋งž์ถ”์–ด ์‹œ์Šคํ…œ์˜ ๋ชฉํ‘œ๋ฅผ ๊ธฐ์ˆ , ๊ทธ ๊ธฐ๋Šฅ์ด ๊ธฐ์ˆ ์ (Engineering) ๊ด€์ ์—์„œ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋  ๊ฒƒ์ธ์ง€๋Š” ๊ธฐ์ˆ ํ•˜์ง€ ์•Š์Œ

  • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„๋ฅ˜

  • ์š”๊ตฌ์‚ฌํ•ญ์€ ํฌ๊ฒŒ ๊ธฐ๋Šฅ์  ์ธก๋ฉด๊ณผ ๊ด€๋ฆฌ์  ์ธก๋ฉด์œผ๋กœ ๋ถ„๋ฅ˜, ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋Šฅ์  ์ธก๋ฉด์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„๋ฅ˜๊ฐ€ ๋งŽ์ด ํ™œ์šฉ

8์›” 2์ผ

  • Classification : ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•ด๋‹น ์ด๋ฏธ์ง€ ๋‚ด์˜ ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ

  • ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋Š” ๋ถ„๋ฅ˜ํ•  ๊ฒƒ์ธ์ง€ ํ•˜๋‚˜์ธ์ง€ ์—ฌ๋Ÿฌ๊ฐ€์ง€์ธ์ง€์— ๋”ฐ๋ผ Single Label Classification, Multi Label Classification ๋‚˜๋‰จ

    1. Single Label Classification: ๋ถ„๋ฅ˜ํ•ด์•ผํ•  ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ class ์ค‘ (3๊ฐœ ์ด์ƒ) ํ•œ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ๋ฅผ Single Label Classification ํ˜น์€ Multi Class Classification
    1. Multi Label Classification: ๋ถ„๋ฅ˜ํ•ด์•ผํ•  ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ class ์ค‘ ํ•œ ๊ฐ€์ง€ ์ด์ƒ์ธ ๊ฒฝ์šฐ Multi Label Classification
  • Object Detection : ์ด๋ฏธ์ง€๋‚˜ ์˜์ƒ ๊ฐ์ฒด(Objects)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ถ„๋ฅ˜ํ•˜๊ณ  ๊ฐ์ฒด์˜ ์œ„์น˜๊นŒ์ง€ ์ธ์‹ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ๋กœ ๋ถ„๋ฅ˜์™€ ์œ„์น˜์ธ์‹์ด ๋™์‹œ์— ๊ฐ€๋Šฅ

  • ์‚ฌ์šฉํ•˜๋Š” ML ํ”„๋ ˆ์ž„์›Œํฌ : Tensorflow, Pytorch

  • zero-shot learning: ์ฒ˜์Œ๋ณด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•™์Šตํ•˜๋Š” ๊ฒƒ

8์›” 3์ผ

  • ์ปดํ“จํ„ฐ ๊ฟ€ํŒ

    • ์‹ค์ˆ˜๋กœ ์ฐฝ ๋‹ซ์•˜์„ ๋•Œ
    • window : ctrl + shift + t
    • mac : command + shift + t
  • SCP๋ž€?

  • ssh ์›๊ฒฉ ์ ‘์† ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ SecureCopy(scp)์˜ ์•ฝ์ž๋กœ์„œ ์›๊ฒฉ์ง€์— ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

    1. ๋‹จ์ผ ํŒŒ์ผ ์›๊ฒฉ์ง€๋กœ ๋ณด๋‚ผ๋•Œ
    • ๊ตฌ๋ฌธ: #scp[์˜ต์…˜][ํŒŒ์ผ๋ช…][์›๊ฒฉ์ง€_id]@[์›๊ฒฉ์ง€_ip]:[๋ฐ›๋Š”์œ„์น˜]
    • ์˜ˆ์‹œ: #scp [email protected]:/tmp/testclient
    1. ๋ณต์ˆ˜์˜ ํŒŒ์ผ์„ ์›๊ฒฉ์ง€๋กœ ๋ณด๋‚ผ๋•Œ
    • ๊ตฌ๋ฌธ: #scp[์˜ต์…˜][ํŒŒ์ผ๋ช…1][ํŒŒ์ผ๋ช…2][์›๊ฒฉ์ง€_id]@[์›๊ฒฉ์ง€_ip]:[๋ฐ›๋Š”์œ„์น˜]
    • ์˜ˆ์‹œ: #scp testfile1 testfile2 [email protected]:/tmp/testclient
    1. ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์›๊ฒฉ์ง€๋กœ ๋ณด๋‚ผ๋•Œ(-r์˜ต์…˜ ์‚ฌ์šฉ)
    • ๊ตฌ๋ฌธ: #scp[์˜ต์…˜][๋””๋ ‰ํ† ๋ฆฌ์ด๋ฆ„][์›๊ฒฉ์ง€_id]@[์›๊ฒฉ์ง€_ip]:[๋ณด๋‚ผ๊ฒฝ๋กœ]
    • ์˜ˆ์‹œ: #scp -r testgo [email protected]:/tmp/testclient
  • SRGAN ๋”ฐ๋ผํ•˜๊ธฐ

  • ์ถœ์ฒ˜ : https://velog.io/@hyun-wle/SRGAN-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0

  • DIV2K ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ SRGAN ํ•™์Šต ์™„๋ฃŒ

  • epoch 100๋ฒˆ ๋Œ๋ ค์„œ ํ•™์Šตํ•ด๋ด„

  • HR๋ณด๋‹ค๋Š” ํ™”์งˆ์ด ์ข‹์ง€๋Š” ์•Š์ง€๋งŒ LR๋ณด๋‹ค๋Š” ํ™”์งˆ์ด ํ›จ์”ฌ ์ข‹์•„์กŒ๋‹ค.

  • ํŒŒ์ดํ† ์น˜ CUDA

  • https://pytorch.org/get-started/locally/

8์›” 5์ผ

  • L1,L2, Loss ๊ฐ’์ด๋ž€ ๋ฌด์—‡์ธ์ง€ ์ •๋ฆฌ
  • ์šฐ์„  Norm์„ ์•Œ์•„์•ผํ•œ๋‹ค.
  • Norm = ์ ˆ๋Œ€๊ฐ’์ด ์•„๋‹ˆ๋ผ, ๋งŽ์€ Norm ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ ˆ๋Œ€๊ฐ’์ด๋‹ค. |-1|=1 dlfjstlr
  • ์ ˆ๋Œ“๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฒกํ„ฐ์˜ํฌ๊ธฐ ์ด๊ธฐ๋„ ํ•˜๋‹ค.|(1,2)|

Norm ์ด๋ž€?

  • ์ˆ˜ํ•™์  ์ •์˜๋Š” ๋ณต์žกํ•˜์ง€๋งŒ ์–ด๋–ค ๊ฐ’์˜ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ, ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜๋Š” ํ•จ์ˆ˜

image

L1 Norm(Mahattan Distance, Taxicab geometry)

  • ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ L1์€ ๋‘๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ๋นผ๊ณ , ์ ˆ๋Œ€๊ฐ’์„ ์ทจํ•œ ๋’ค, ํ•ฉํ•œ ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, x=(1,2,3), y=(-1,2,4) ๋ผ๋ฉด d(x,y)=|1-(-1)|+|2-2|+|3-4|=2+0+1=3 ์ด๋‹ค.

L2 Norm(Euclidean Distance)

  • ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ L2๋Š” ๋‘ ๊ฐœ์˜ ๋ฒกํ„ฐ์˜ ๊ฐ ์›์†Œ๋ฅผ ๋นผ๊ณ , ์ œ๊ณฑ์„ ํ•˜๊ณ , ํ•ฉ์น˜๊ณ , ๋ฃจํŠธ๋ฅผ ์”Œ์šด ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, x=(1,2,3), y=(-1,2,4) ๋ผ๋ฉด d(x,y)=root(4+0+1) = root(5)์ด๋‹ค. ๋‘๊ฐœ ๋ฒกํ„ฐ(์ ) ์‚ฌ์ด์˜ ์ง์„  ๊ฑฐ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค.

image

L1 Norm ๊ณผ L2 Norm์˜ ์ง๊ด€์  ์ฐจ์ด

  • ๋‘ ๊ฐœ์˜ ๊ฒ€์€์ (๋ฒกํ„ฐ)๋ฅผ ์ž‡๋Š” ์—ฌ๋Ÿฌ ์„ ๋“ค์ด ์กด์žฌํ•œ๋‹ค. ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์žฌ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ Norm์„ ํ‘œ๊ธฐํ•œ ์…ˆ์ด๋‹ค. ์ดˆ๋ก์ƒ‰์„ ์ด L2์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋‹ค๋ฅธ ๊ฒฝ๋กœ์ด์ง€๋งŒ ์‚ฌ์‹ค ๋ชจ๋‘ ๊ฐ™์€ L1 Norm ์ด๋‹ค. ์‹œ๊ฐ์  ํŠน์„ฑ ๋•Œ๋ฌธ์— Taxicab geometry ๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

L1 Loss

  • ๋‘ ๊ฐœ์˜ ๋ฒกํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์ž๋ฆฌ์— ์‹ค์ œ ํƒ€๊ฒŸ๊ฐ’(y_true)์™€ ์˜ˆ์ธก ํƒ€๊ฒŸ๊ฐ’(y_pred)๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.
  • Least Absolute Deviations(LAD), Least Absolute Errors(LAE), Least Absolute Value(LAV), Least Absolute Residual(LAR) ๋“ฑ์œผ๋กœ๋„ ๋ถˆ๋ฆฐ๋‹ค.
  • L1 Loss๋Š” L2 Loss์— ๋น„ํ•ด ์ด์ƒ์น˜(Outlier)์˜ ์˜ํ–ฅ์„ ๋œ ๋ฐ›๋Š”, Robustํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ , 0์—์„œ ๋ฏธ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. image

L2 Loss

  • L2 Loss๋„ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ๋‹ค๋งŒ ์ตœ์ข…์ ์œผ๋กœ ๋ฃจํŠธ๋ฅผ ์ทจํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.
  • Least Squares Error(LSE, ์ตœ์†Œ์ž์Šน๋ฒ•)dmfheh qnfflsek.
  • ๋‘ ๊ฐœ ๊ฐ’์˜ ์ ˆ๋Œ€๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋˜ L1 Loss์™€ ๋‹ฌ๋ฆฌ L2 Loss๋Š” ์ œ๊ณฑ์„ ์ทจํ•˜๊ธฐ๋•Œ๋ฌธ์—, ์ด์ƒ์น˜๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์˜ค์ฐจ๊ฐ€ ์ œ๊ณฑ์ด ๋˜์–ด ์ด์ƒ์น˜์— ๋” ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ด์ƒ์น˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ ์šฉํ•˜๊ธฐ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์žˆ๋‹ค.

Reference : https://junklee.tistory.com/29

8์›” 8์ผ

  • Super Resolution ๊ด€๋ จ ๋…ผ๋ฌธ์„ ์ฝ๋‹ค๋ณด๋ฉด PSNR๊ณผ SSIM ๊ฐ€ ๋‚˜์˜จ๋‹ค.
MSE
  • estimated value(์˜ˆ์ธก๊ฐ’), ์•Œ์ง€๋ชปํ•˜๋Š” parameter ๊ฐ„ ์ฐจ์ด๋ฅผ ์ œ๊ณฑ ํ•ฉ ํ‰๊ท ์„ ๋‚ธ ๊ฒƒ์ด๋‹ค.
  • ML:Regression์ด๋‚˜ DNN์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” loss function์ด๋‹ค.
  • ์ด๋ฏธ์ง€๋“ค ๊ฐ„์˜ ๋น„๊ต์—์„œ pixel-wise ๋กœ ๋น„๊ตํ•œ๋‹ค.
  • ๋งŽ์€ iteration์„ ํ†ตํ•ด parameter๋ฅผ estimated value์— ๊ฐ€๊น๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ
PSNR

image image

  • ์˜์ƒ์ด๋‚˜ ๋™์˜์ƒ ์†์‹ค๋กœ ์ธํ•˜์—ฌ ํ™”์งˆ ์†์‹ค ์ •๋ณด๋ฅผ ํ‰๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉ
  • MSE๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ MSE๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ธฐ์ค€์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ
  • ๋‹จ์œ„ : dB์ด๊ณ , MSE๊ฐ€ ์ ์„์ˆ˜๋ก PSNR์ด ๋†’๋‹ค.
  • MSE๊ฐ€ ์ž‘๋‹ค๋Š” ๊ฒƒ์€ ์›๋ณธ๊ณผ ๋งค์šฐ ๊ฐ€๊น๋‹ค ํ˜น์€ ์›๋ณธ์œผ๋กœ ํŒ๋…๋  ์ •๋„์ด๋‹ค๋ผ๊ณ  ํ•ด์„ํ•˜๋ฉด ๋˜๊ณ  ์˜๋ฏธ๊ฐ€ ๊ฒฐ๊ณผ๋ก ์ ์œผ๋กœ PSNR์ด ๋†’๋‹ค๋ผ๊ณ  ํ•ด์„ ๊ฐ€๋Šฅ
  • ๊ทธ๋Ÿฌ๋‚˜ MSE๋Š” high texture details์— ๋Œ€ํ•œ ์†์‹ค ๋ณต์›์€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— MSE๊ฐ€ ์ž‘์•„ PSNR์ด ๋†’์€ ๊ฒƒ์ด ๊ผญ ๊ณ ํ•ด์ƒ๋„๋ฅผ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Œ
SSIM
  • ์ด๋ฏธ์ง€ํ’ˆ์งˆ ํ‰๊ฐ€๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๊ฐ์  ํ™”์งˆ ์ฐจ์ด ๋ฐ ์œ ์‚ฌ๋„ ํ‰๊ฐ€ ์œ„ํ•ด ๊ณ ์•ˆ
  • ์ด๋ฏธ์ง€์˜ Luminance(l), Contrast(c), Structure(s)๋ฅผ ๋น„๊ตํ•˜๋Š”๋ฐ ๊ทธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์•„๋ž˜ ์‹์œผ๋กœ ๋‚˜ํƒ€ ๋‚ผ ์ˆ˜ ์žˆ์Œ
  • ์ด๋ก 
    • ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€(image) ๋˜๋Š” ์œˆ๋„์šฐ(window) x์™€ y๋ฅผ ๋น„๊ตํ•˜๋Š” ์ƒํ™ฉ
      1. ํœ˜๋„(Luminance) : ๋น›์˜ ๋ฐ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์–‘ image
      1. ๋Œ€์กฐ(Contrast) : ์ด๋ฏธ์ง€ ๋‚ด์—์„œ ๋น›์˜ ๋ฐ๊ธฐ๊ฐ€ ๊ทน์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ์„ฑ์งˆ image
      1. ๊ตฌ์กฐ(Structure) : ํ”ฝ์…€๋“ค์˜ ์ƒ๋Œ€์  ์œ„์น˜๊ฐ€ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์„ฑ์งˆ image
AVIF
  • 2019๋…„๋„ ์ถœ์‹œ, AVIF๋Š” AV1 ๋น„๋””์˜ค ์ฝ”๋ฑ์„ ํ†ตํ•ด ์ธ์ฝ”๋”ฉ๋œ I-ํ”„๋ ˆ์ž„์„ ๊ทธ๋Œ€๋กœ ์ด๋ฏธ์ง€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก AOMedia์—์„œ ๋ณ„๋„์˜ ์ด๋ฏธ์ง€ ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ฐœ๋ฐœ๋จ
  • ์ž์œ ์†Œํ”„ํŠธ์›จ์–ด ๊ด€์ ์—์„œ๋Š” WebP์˜ ํ›„๊ณ„์ž ๊ฒฉ, HEIF(+H.265)์— ๋งž์„œ๋Š” ๋Œ€ํ•ญ๋งˆ์˜ ์„ฑ๊ฒฉ์„ ์ง€๋‹˜
WebP
  • 2010๋…„ ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ์ด๋ฏธ์ง€ ํฌ๋งท, Web์„ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ํšจ์œจ์ ์ธ ์ด๋ฏธ์ง€ ํฌ๋งท
  • ๊ธฐ์กด ์ด๋ฏธ์ง€ ํฌ๋งท์ด ๋น„์†์‹ค ์••์ถ•(GIF, PNG), ์†์‹ค์••์ถ•(JPEG) ์œผ๋กœ ๋‚˜๋ˆ ์ ธ ์žˆ์—ˆ๋Š”๋ฐ WebP๋Š” ๋‘˜ ๋‹ค ์ง€์›

ํŒŒ์ดํ† ์น˜ ๋ฒ„์ „์ด ์•ˆ๋งž์•„์„œ ์‹คํ–‰์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ์ผ๋•Œ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

jung@esp:/workspace/newworld/Processing/ja-ma/iccv19_attribute$ python main.py --approach=inception_iccv --experiment=foottraffic --batch_size 16 --print_freq 1
/home/jung/.local/lib/python3.8/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory
  warn(f"Failed to load image Python extension: {e}")
  • ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ์— ๊น”๋ ค์žˆ๋Š” ํŒŒ์ดํ† ์น˜ ๋ฒ„์ „์ด ์•ˆ๋งž์•„์„œ ์‹คํ–‰์ด ์•ˆ๋˜์—ˆ๋‹ค.
/home/jung/.local/lib/python3.8/site-packages/torch/cuda/__init__.py:146: UserWarning: 
NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA GeForce RTX 3090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

  warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))

Learning Rate: 0.0001
jung@esp:/workspace/newworld/Processing/ja-ma/iccv19_attribute$ nvidia-smi
Tue Aug 16 02:25:52 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.68.02    Driver Version: 510.68.02    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:28:00.0 Off |                  N/A |
| 30%   29C    P8    30W / 350W |      2MiB / 24576MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:43:00.0 Off |                  N/A |
| 30%   30C    P8    19W / 350W |      2MiB / 24576MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  On   | 00000000:A4:00.0 Off |                  N/A |
| 94%   84C    P2   336W / 350W |  17587MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  On   | 00000000:C3:00.0 Off |                  N/A |
| 30%   27C    P8    19W / 350W |  12887MiB / 24576MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+
  • ๋‚ด ์ปจํ…Œ์ด๋„ˆ์— ๊น”๋ ค์žˆ๋Š” ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ํ™•์ธํ•ด๋ณธ๋‹ค.
jung@esp:/workspace/newworld/Processing/ja-ma/iccv19_attribute$ python
Python 3.8.10 (default, Mar 15 2022, 12:22:08) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
torch>>> torch.__version__
'1.12.1+cu102'
  • ํ™•์ธํ•ด๋ณด๋‹ˆ torch ๋ฒ„์ „์ด ๋‹ฌ๋ž๋‹ค....

10.2 ๋ฒ„์ „์˜ ํŒŒ์ดํ† ์น˜๋ฅผ ์‚ญ์ œ

jung@esp:/workspace/newworld/Processing/ja-ma/iccv19_attribute$ pip3 uninstall torch torchvision torchaudio

CUDA11.6 ๋ฒ„์ „ ์„ค์น˜

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

ํŒŒ์ด์ฌ ์„ค์น˜ ์ •๋ณด ๋‹ค์‹œ ํ™•์ธ

$ python
>>> import torch
>>> torch.__version__
'1.12.1+cu116'

8์›” 19์ผ ๊ฟ€ํŒ

  • ๋ฆฌ๋ˆ…์Šค ํด๋” ์ „์ฒด ๋ณต์‚ฌ
cp -r ์›๋ณธ ํด๋” /๋ชฉ์ ์ง€ ํด๋”
cp -r a /test/b

8์›” 22์ผ

  • Weighted_BCELoss was proposed in "Multi-attribute learning for pedestrian attribute recognition in surveillance scenarios"[13].
  • Weighted_BCELoss ๋Š” "๋‹ค์ค‘์†์„ฑํ•™์Šต"์„ ๊ฐ์‹œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ ์šฉํ•จ https://pytorch.org/docs/stable/generated/torch.nn.BCEWithLogitsLoss.html
  • ์ด์†์‹คํ•จ์ˆ˜๋Š” sigmoid ๋ ˆ์ด์–ด์™€ BCELoss๋ฅผ ํ•˜๋‚˜์˜ ๋‹จ์ผ ํด๋ž˜์Šค๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ์—ฐ์‚ฐ์„ ํ•˜๋‚˜์˜ ๋ ˆ์ด์–ด๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ์ˆ˜ํ”ผ์  ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด log sum exp ํŠธ๋ฆญ์„ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ sigmoid ๋‹ค์Œ์— BCELoss๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ๋ณด๋‹ค ์ˆ˜์น˜์ ์œผ๋กœ ๋” ์•ˆ์ •์ ์ด๋‹ค.
  • PAR ๋…ผ๋ฌธ์˜ ๋ฐฑ๋ณธ์€ google inception v2 ์ธ๋ฐ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” batch normalization์„ ํ†ตํ•ด bninceptionNet์„ ๋ฐฑ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • https://sh-tsang.medium.com/review-batch-normalization-inception-v2-bn-inception-the-2nd-to-surpass-human-level-18e2d0f56651
  • GoogleNet๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๋‹ค ์ฝ์–ด๋ด์•ผํ•จ

8์›” 23์ผ

CUDA_VISIBLE_DEVICES=2 python main.py --approach=inception_iccv --experiment=foottraffic --batch_size 8 --print_freq 100

8์›” 24์ผ

  • ์ง€๊ธˆ ํ˜„์žฌ ๋Œ๋ฆฌ๋Š” ๋ชจ๋ธ : ์ง€๋„ ํ•™์Šต (Dataset = Data + label)

  • ๊ตฌํ•ด์•ผํ•˜๋Š” output : loss์— ๋“ค์–ด๊ฐ€๋Š” ๋ผ๋ฒจ ํ‚ค๊ฐ’๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์„ csv๋กœ ๋งŒ๋“ ๋‹ค.

  • Loss ๋ž€ : ๋ชจ๋ธ์˜ ์˜ˆ์ธก์ด ๋ผ๋ฒจ๊ณผ ์–ผ๋งˆ๋‚˜ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š”์ง€ ์ธก์ •

  • Input(์ž…๋ ฅ)=x, Output(์ถœ๋ ฅ)=y, Label(์‹ค์ œ์ •๋‹ต)=d

  • ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ’ = x, d

  • y = W(weight)*x + b(bias)

  • Loss = d - y

  • Loss ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•

    • Error Function(=Loss function)
    • ์ด์ง„๋ถ„๋ฅ˜ = BCELoss(Binary Cross Entropy Loss)
  • ์ด์ง„๋ถ„๋ฅ˜๋ž€?

    • ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋‘ ๊ฐ€์ง€ ์ •๋‹ต ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ ์˜๋ฏธ
      • ์˜ˆ๋กœ ํ™๊ธธ๋™์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ,
      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋žŒ์ด๋ƒ ์•„๋‹ˆ๋ƒ์— ๋Œ€ํ•œ ์ •๋‹ต์ด 1๊ณผ 0 ์ค‘ ํ•˜๋‚˜ํ•˜๋ฉด, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ 1์ผ ํ™•๋ฅ ์ด ์ถœ๋ ฅ๋˜๊ณ , ํ•ด๋‹น ํ™•๋ฅ ์ด 0.5์ด์ƒ์ด๋ฉด, 1๋กœ ํŒ๋‹จํ•˜๊ฒŒ ๋œ๋‹ค. image
      • binary cross entropy loss ์ˆ˜์‹์—์„œ y hat์€ 0๊ณผ 1 ์‚ฌ์ด์˜ ์—ฐ์†์ ์ธ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜ ์ถœ๋ ฅ๊ฐ’์„ ์˜๋ฏธํ•˜๋ฉฐ, y๋Š” ๋ถˆ์—ฐ์†์ ์ธ ์‹ค์ œ๊ฐ’์„ ์˜๋ฏธ image
  • ๋ฉ€ํ‹ฐ ์ด์ง„ ๋ถ„๋ฅ˜

    • ๋งŒ์•ฝ ์งˆ๋ฌธ ํ•ญ๋ชฉ์ด ์—ฌ๋Ÿฌ๊ฐœ์ด๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์˜ ๋Œ€ํ•œ ์ •๋‹ต์ด ๋‘ ๊ฐ€์ง€๋ผ๋ฉด ์ด๋ฅผ ๋ฉ€ํ‹ฐ ์ด์ง„ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํ•œ๋‹ค.
      • ์˜ˆ๋กœ ํ™๊ธธ๋™์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์งˆ๋•Œ,
      • ์ฒซ ๋ฒˆ์งธ ์งˆ๋ฌธ ํ•ญ๋ชฉ์€ ์‚ฌ๋žŒ์ด๋ƒ ์•„๋‹ˆ๋ƒ, ๋‘๋ฒˆ์งธ ์งˆ๋ฌธํ•ญ๋ชฉ์€ ์„œ์šธ์— ์‚ฌ๋А๋ƒ, ์‚ด์ง€ ์•Š๋А๋ƒ๋กœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. image
  • ๋‹ค์ค‘ ๋ถ„๋ฅ˜

    • ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์งˆ๋ฌธ ํ•ญ๋ชฉ์€ 1๊ฐœ์ด์ง€๋งŒ, ํ•ด๋‹น ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ •๋‹ต์€ ์„ธ๊ฐ€์ง€ ์ด์ƒ์ด๋ผ๋ฉด, ์ด๋ฅผ ๋‹ค์ค‘ ๋ถ„๋ฅ˜๋ผ๊ณ  ํ•œ๋‹ค.
      • ์˜ˆ๋กœ ํ™๊ธธ๋™์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์งˆ๋•Œ,
      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค๊ฐ€ ํฌ๋ƒ, ์ค‘๊ฐ„์ด๋ƒ, ์ž‘์€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋•Œ๋Š” ์–ด์ฉ” ์ˆ˜ ์—†์ด sigmoid ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ softmax ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    • ๋งŒ์•ฝ, ์งˆ๋ฌธ ํ•ญ๋ชฉ์ด n ๊ฐœ์ด๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ •๋‹ต์ด ์„ธ๊ฐ€์ง€ ์ด์ƒ์ด๋ผ๋ฉด, ๊ฐ ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ฐ๊ฐ softmaxํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด, ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋‹ค์ค‘ ๋ถ„๋ฅ˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. image
  • ์˜ˆ์ธก๊ฐ’์ด ๋‹จ์ผ ํ•ญ๋ชฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค๋ฉด (ex, [0.5])

    • ๋‹จ์ˆœ ์ด์ง„ ๋ถ„๋ฅ˜์ด๋ฏ€๋กœ, ๋ชฉ์ ํ•จ์ˆ˜๋กœ Binary Cross Entropy ๋ฅผ ์‚ฌ์šฉ
  • ์˜ˆ์ธก๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•ญ๋ชฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์˜ ํ™•๋ฅ  ํ•ฉ์ด 1 ์ด ๋„˜์–ด๊ฐ„๋‹ค๋ฉด (ex, [0.7, 0.6, 0.4])

    • ๋ฉ€ํ‹ฐ ์ด์ง„ ๋ถ„๋ฅ˜์ด๋ฏ€๋กœ, ๋ชฉ์ ํ•จ์ˆ˜๋กœ Binary Cross Entropy ๋ฅผ ์‚ฌ์šฉ
  • ์˜ˆ์ธก๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•ญ๋ชฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์˜ ํ™•๋ฅ  ํ•ฉ์ด 1 ์ด๋ผ๋ฉด (ex, [0.5, 0.2, 0.3])

    • ๋‹ค์ค‘ ๋ถ„๋ฅ˜์ด๋ฏ€๋กœ, ๋ชฉ์ ํ•จ์ˆ˜๋กœ Cross Entropy ๋ฅผ ์‚ฌ์šฉ

reference : https://wooono.tistory.com/387

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published