sudo apt update
sudo docker run -it --gpus all -v $(pwd):/workspace pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel bash
sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
rm /etc/apt/sources.list.d/cuda.list
rm /etc/apt/sources.list.d/nvidia-ml.list
echo "deb http://old-releases.ubuntu.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list
echo "deb http://old-releases.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://old-releases.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
apt-get update
apt-get install -y git make g++ libpng-dev libboost-all-dev libmecab-dev
git clone https://github.com/takezo5096/cuMat
cd cuMat
make
cd ..
git clone https://github.com/takezo5096/DNN
cd DNN
# 현재 DNN 폴더의 상위 폴더(DNN과 cuMat이 있는 곳)에서 실행하세요.
docker run -it --gpus all -v $(pwd):/workspace nvidia/cuda:10.2-devel-ubuntu18.04 bash
오래된 CUDA 버전을 사용하여 작성된 코드이기 때문에 깔끔하게 Docker에서 구동시키도록 한다.
curl -s "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3B4FE6ACC0B21F32" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/bionic-gcc.gpg > /dev/null
sudo apt update
sudo apt install -y gcc-8 g++-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
make
sudo cp libcumat.so /usr/local/lib/
sudo cp *.h /usr/local/include/
sudo ldconfig
wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.1-linux-x64-v7.6.5.32.tgz
tar -xzvf cudnn-10.1-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
make -j$(nproc)
ls -lh test
./test

이제 공부 좀 해볼 수 있는 건가?
겨우 환경 구성을 마쳤다.
중간에 wsl export 한 후 import하는 과정에서 디스크 용량 부족해서 여러번 삽질했다.
wget https://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
tar -xzvf cifar-10-binary.tar.gz
ls -F cifar-10-batches-bin/
아 데이터셋이 없어서 계속 100%로 뜨고 있었다….ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
역시 뭔가 잘되는데? 싶으면 의심해봐야 한다.

에헤이 그럼 그렇지
에이 CIFAR

이제 학습이 되는거 같다.
![「4K 60 fps」 Rolling Girl feat. Hatsune Miku [wowaka] | Project DIVA Arcade Future Tone](https://i.ytimg.com/vi/BUM0e-AbsYk/maxresdefault.jpg)