初期状態Ubuntuにcupy,pytorchを入れるまでのアーカイブ


# rina_ubuntuの環境構築プロジェクト

### プロジェクト設立日：2024/03/10
### プロジェクト設立者：https://twitter.com/Masarina002

---

## Ubuntuの初期設定

- **Ubuntuバージョン**：20.04.6 必須
- **ローマ字入力設定**：
  1. 設定の「地域と言語」より、入力ソースのMozcの順位を一番上に並び替える。
  2. PC上部ヘッダーの「A▼」マークをクリックして、リストからMozcを選択。
  3. 「全/半」ボタンでローマ字入力の切り替えが可能に。

---

## ソフトウェアのインストール

- **Discordのインストール**
  ```bash
  sudo snap install discord
  ```

- **Chromeのインストール**
  ```bash
  cd ダウンロード
  wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  sudo apt install ./google-chrome-stable_current_amd64.deb
  ```

- **Pythonの設定** (Python 3.8を`python`コマンドで実行できるように)
  ```bash
  sudo rm /usr/bin/python
  sudo ln -s /usr/bin/python3.8 /usr/bin/python
  ```

- **pipのインストール**
  ```bash
  sudo apt update
  sudo apt install python3-pip
  ```

- **Anacondaのインストール**
  - [Anaconda公式サイト](https://www.anaconda.com/download-success)からダウンロード
  ```bash
  cd "ダウンロード"
  bash Anaconda3-2024.02-1-Linux-x86_64.sh
  eval "$(/home/masarina/anaconda3/bin/conda shell.bash hook)"
  conda init
  ```

---

## CUDA Toolkit 12.0のインストール

- **CUDAのインストール手順**
  ```bash
  wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
  sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
  wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda-repo-ubuntu2004-12-0-local_12.0.0-525.60.13-1_amd64.deb
  sudo dpkg -i cuda-repo-ubuntu2004-12-0-local_12.0.0-525.60.13-1_amd64.deb
  sudo cp /var/cuda-repo-ubuntu2004-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
  sudo apt-get update
  sudo apt-get -y install cuda
  ```

- **確認方法**
  ```bash
  sudo reboot
  nvcc --version
  nvidia-smi
  ```

---

## 仮想環境構築とCuPyのインストール

- **仮想環境の作成**
  ```bash
  conda create -n yourenvname python=3.7.0
  conda activate yourenvname
  ```

- **CuPyのインストール**
  ```bash
  conda install cupy=8.3.0
  ```

---

## GPUの動作確認

- **テストコードの実行**（10,000 x 10,000 の行列乗算）
  ```python
  import cupy as cp
  import numpy as np
  import time

  x = cp.random.rand(10000, 10000)
  y = cp.random.rand(10000, 10000)

  r = 100
  for i in range(r):
      z = cp.dot(x, y)
      time.sleep(5)
  ```

---

## PyTorchのインストール

- **インストール手順**
  ```bash
  conda activate yourenvname
  conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
  ```
  > *これ、探すの大変でした。
公式の通りコマンドを発行しても失敗するので、
成功しているブログを見つけました。
その結果、私のCUDAは12.0ですが、12.0ではなく、
CUDA11.7のバージョンに対応しているcondaコマンドを端から実行しては
print(torch.cuda.is_available())
を実行し、返り値がTrueになるコマンドを探しました。
(これがTrueであれば、cudaを使用している、つまりGPUを使用して実行されているということになる。)なお、そのコマンドがたくさん書かれているサイトのページは、このURL↓であり、公式のページです。
https://pytorch.org/get-started/previous-versions/*

---

## その他のソフトウェア

- **Transformers** (Hugging Face)
  ```bash
  pip install transformers==4.27.4
  ```

- **LibreOfficeのインストール**
  ```bash
  sudo apt -y update
  sudo apt -yV upgrade
  sudo apt -y install libreoffice libreoffice-l10n-ja libreoffice-dmaths libreoffice-ogltrans libreoffice-writer2xhtml libreoffice-pdfimport libreoffice-help-ja
  ```

---

## 問題解決メモ

- **JISキーボードの認識不良時の対策**
  ```bash
  setxkbmap jp
  setxkbmap -query
  ```

---


## 追記
なんかwindowsでも行けたんだけど
```
conda activate yourenvname
conda install cupy=8.3.0
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
```
しかもこれだけ。