728x90

IT 417

[python/keras] 간단한 2차원 문제로 WGAN-gp의 기초를 이해하기

※ 일본의 한 블로그 글을 번역한 포스팅입니다. 오역, 의역, 직역이 있을 수 있으며 내용 오류가 있다면 지적 부탁드립니다. WGAN-gp에 대해서 이해하기 위해, WGAN-gp를 간단한 2차원 문제를 적용해 그 결과를 살펴보고자한다. GAN과 WGAN-gp 1. GAN에 대해서 GAN에서는 식별 모델이 판정한 내용을 바탕으로 생성 모델을 학습하는 것으로 생성 데이터의 분포를 실제 데이터와 가깝게 한다. 이것은 Jensen-Shannon divergence이라는 지표를 사용하여 실제 데이터와 생성 데이터의 확률 분포 차를 측정해, 그것을 최소화해나간다는 컨셉에 근거하고 있다. 여기서 Jensen-Shannon divergence에는 기울기(구배) 소실이 일어나기 쉬워서, 모드 붕괴가 발생하는 문제가 발생..

IT/AI\ML 2022.02.25

[python] python으로 csv파일 쓰기 (list, numpy, pandas)

이번 포스팅에서는 python으로 csv 파일을 쓰는 방법에 대해 설명하고자 한다. 그리고 데이터형이 list인지, numpy인지, pandas인지에 대해 어떻게 쓰면 좋을지에 대해 나눠서 살펴볼 예정이다. list데이터의 쓰기 데이터형이 list인 경우 쓰는 방법에 대해 알아보자. list를 csv로 작성하는 경우에는 csv이라는 라이브러이의 writer 오브젝트를 사용한다. 사용방법은 간단하며, 다음의 코드와 같다. # 먼저 다음과 같이 writer 오브젝트를 선언한다. write = csv.writer(출력파일경로/파일명.csv) # 1차원 데이터의 쓰기 write.writerow(데이터) # 2차원 데이터의 쓰기 write.writerows(데이터) #그러나 아래와 같이 한 줄로 "쓰기"가 될 수..

IT/언어 2022.02.21

[Docker] NVIDIA Container Toolkit(NVIDIA Docker)의 동작원리

※ 일본 포스팅을 번역한 자료입니다. 오역및 의역이 있을 수 있으며, 틀린 내용이 있는 경우 지적해주시면 정정하겠습니다. Docker에서 NIVIDA GPU를 사용하는 경우 NVIDIA Container Toolkit(NVIDIA Docker)이 필요하다. 이번 포스팅에서는 왜 NVIDIA Container Toolkit이 필요한지, 어떻게 동작하고 있는지에 대해 설명할 것이다. 참고로 2021년 4월 시점 내용이니 현재는 바꼈을지도 모르니 어디까지나 참고로 하길 바란다. 왜 NVIDIA Container Toolkit(NVIDIA Docker)이 필요할까? NVIDIA GPU는 호스트의 디바이스 파일 (/dev/nvidia0등)으로써 등록되어 있다. 또한, CUDA 라이브러리(libcuda.so등)는 ..

IT/기초 지식 2022.02.18

[Docker/Linux] Docker상의 Volume에서 permission denied 에러가 발생할 때 해결법

permission denied가 발생하는 문제 Linux상에서 Docker 컨테이너 내에 있는 volume을 mount했을 때, 호스트에서 액세스할 경우 권한 문제가 발생하는 경우가 있다. 이는 호스트 OS에서 사용하고 있는 유저와 컨테이너 내에서 사용하고 있는 유저의 UID와 GID가 불일치하는 경우가 원인인듯하다. 따라서 Docker for Mac/Windows에서는 이러한 문제는 거의 발생하지 않는다. UID와 GID과 불일치하는 경우는 다음과 같은 경우를 일컫는다. 호스트 OS에서 터미널을 연 뒤에 id 커맨드를 입력하면 다음과 같은 결과가 출력되는데 반해, $ id uid=1000(test) gid=1000(test) groups=0(test) 컨테이너 내에 들어가서 id 커맨드 결과를 보면 ..

IT/기초 지식 2022.02.10

[AWS] 기존의 EC2 인스턴스에 새로운 EBS 연결(mount)하기

새로운 EBS Volume을 생성해서 기존의 EC2 인스턴스에 그대로 mount 하면 아래와 같은 에러가 발생하게 된다. $ sudo mount /dev/xvdf /mnt/data/ mount: /dev/xvdf is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/xvdf, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. 따라서 mount하기 전에 EBS를 한 번 포맷을 해주고 연결할 필요가 있다. 그러한 포맷 방법을 ..

IT/기초 지식 2022.02.09

[Docker/Linux] Linux환경에서 GPU가 적용된 Docker 컨테이너 만들기

Linux 환경 위에 그대로 GPU를 이용하고자 한다면면 여러가지 드라이브의 설치 및 설정이 복잡하므로, Docker을 사용하는 방법을 추천할 수 있다. 포스팅의 전반적인 순서는 다음과 같다. NVIDIA driver의 설치 Docker의 설치 NVIDIA container toolkit의 설치 임의의 컨테이너를 생성하여 확인 NVIDIA driver의 설치 제일 먼저 NVIDIA 드라이브가 설치되어 있는지 확인하자. $ nvidia-smi 만약 설치되어 있는 경우, 삭제 후 재설치하고 싶은 경우에만 아래의 커맨드로 삭제한다. $ sudo apt-get --purge remove nvidia-* $ sudo apt autoremove 리포지토리를 추가한다. $ sudo add-apt-repository ..

IT/기초 지식 2022.02.09

[AWS/Linux] AWS EC2 인스턴스에 Ubuntu 데스크톱 환경 만들기

Amazon EC2의 OS가 Ubuntu Server 18.04 LTS인 인스턴스에 Ubuntu 데스크 톱 환경을 만드는 과정에 대해 기록하고자 한다. 참고로 EC2 인스턴스를 시작하는 과정에 대해서는 생략할 것이다. 환경 클라이언트 환경 Version Windows 10(65bit) Remote Desktop - 타켓 환경 Version Amazon EC2 Ubuntu Server 18.04 LTS Terminal 본인이 쓰기에 편한 것 EC2 인스턴스의 설정 인스턴스 접속 인스턴스를 만들었다면 터미널에서 SSH로 인스턴스에 접속하자. $ ssh -i ubuntu@ 리포지토리와 패키지의 갱신 계속해서 터미널에서 리포지토리랑 패키지를 업데이트한다. $ sudo apt update -y $ sudo apt..

IT/기초 지식 2022.02.07

[bat] Windows의 배치 파일(*.bat) 작성법

@echo off call :TESTAAA exit /b 0 :TESTAAA echo TESTAAA가 호출됐다. exit /b 0 배치 파일의 기본적인 작성법에 대해 알아보자. bat실행시에 스크립트 내용을 명령 프롬프트에 표시하지 않도록 하기 예를 들어 아래와 같은 배치 파일이 있다고 가정하자. IF 1==1 ( echo 가나다라 ) 이 파일을 실행시키면 아래와 같이 명령 프롬프트창에 표시된다. C:>C:\exsample.bat C:>IF 1 == 1 (echo 가나다라 ) 가나다라 이렇게 출력이 되지 않도록 하기 위해서는 배치 파일의 맨 앞에 반드시 @echo off를 정의해둘 필요가 있다. @echo off IF 1==1 ( echo 가나다라 ) 다시 한 번 실행시키면, 아래와 같이 파일 내용이 표..

IT/기초 지식 2022.02.04

[Docker] docker-compose 커맨드 정리

docker-compose 커맨드 중 자주 사용하는 것만 정리하고자한다. 이번 포스팅에서 사용할 docker-compose.yml과 Dockerfile은 아래와 같다. #### docker-compose.yml내용 web: build: . environment: DISABLE_SPRING: "1" DB_USERNAME: "root" DB_PASSWORD: "root" DB_HOST: "db" ports: - "3000:3000" volumes: - ".:/var/local/rails5_product" links: - "db" db: image: mysql:5.6 environment: MYSQL_ROOT_PASSWORD: "root" #### Dockerfile의 내용 # rails5_product FR..

IT/기초 지식 2022.02.02

[python] pip 과 requirements.txt를 이용해서 패키지 혹은 라이브러리 일괄 다운로드하기

Python의 패키지(라이브러리)를 pip으로 관리하고 있는 경우, 설정 파일인 requirements.txt를 사용해서 파일 안에 지정된 패키지를 지정한 버전으로 한꺼번에 설치할 수 있다. 이번 포스팅에서는 아래의 내용에 대해서 설명하고자한다. pip의 일괄 설치 옵션 : -r requirements.txt 설정 파일 requirements.txt의 작성법 현재 환경의 설정 파일을 출력하는 pip freeze pip의 기본적인 사용법에 대해서는 이번 포스팅에서 설명하지 않는다. pip의 일괄 설치 옵션 : -r requirements.txt 아래의 커맨드로 설정 파일 requirements.txt에 작성된 내용에 따라 패키지를 일괄 설치된다. $ pip install -r requirements.txt..

IT/기초 지식 2022.02.01
728x90