はじめに
機械学習、特に深層学習で画像認識や自然言語処理を行う場合、GPUを使うことで学習や推論の速度が大きく変わります
今回使用するPCには、NVIDIA GeForce RTX 4070を搭載したGPU環境を利用します
これはCompute Capability 8.9を持つ比較的新しい世代のGPUで、CNNによる画像分類や、Transformerを使った自然言語処理、LSTMによる時系列解析なども快適に動かせます
本記事では、そんなRTX4070環境で PyTorchをゼロから構築する手順をまとめます
※PyTorch:学術研究・産業界で最も使用されている深層学習フレームワーク
さらに、深層学習だけでなく、Webアプリ開発環境(Django、Flask、FastAPI)も同時に構築し、AIモデルをWebアプリとして公開できる環境を整えます
前提条件
本記事は、以下が完了していることを前提としています
- CUDA Toolkit 12.3のインストール
- cuDNN 8.9のインストール
- 環境変数の設定
前提記事: RTXシリーズで深層学習を始めよう!CUDA & cuDNNインストールの手順
この記事でわかること
- Python 3.12.9のインストールと仮想環境構築
- GPU深層学習に必要なライブラリのインストール
- PyTorch 2.6.0(GPU版)
- データ分析・機械学習ライブラリ(scikit-learn、LightGBM、XGBoost)
- NLPライブラリ(Transformers、Janome、spaCy)
- Webアプリ開発環境の構築
- Django 4.2.1(REST API対応)
- Flask、FastAPI
- Selenium(Webスクレイピング)
- PyTorch GPU版の動作確認方法
- Jupyter Lab環境の構築
- 完全自動インストールスクリプト
実行環境
OS: Windows 11 / 64bit
GPU: NVIDIA GeForce RTX 4070(12GB VRAM)
CUDA: 12.3
cuDNN: 8.9
Python: 3.12.9
PyTorch: 2.6.0(GPU版)
Django: 4.2.1
1. Python 3.12.9のインストール
ダウンロードとインストール
-
Python公式サイトから**Windows installer (64-bit)**をダウンロード
-
インストーラーを実行
-
重要: 「Add python.exe to PATH」にチェック
-
「Install Now」をクリック
インストール確認
python --version
出力例: Python 3.12.9
2. 仮想環境の作成と有効化
仮想環境の作成
cd C:\Users\user ※パスは任意
py -3.12 -m venv py312_pytorch_env
環境名の意味:
-
py312: Python 3.12 -
pytorch: PyTorch深層学習環境
※環境名は任意
仮想環境の有効化
py312_pytorch_env\Scripts\activate
プロンプトが (py312_pytorch_env) で始まることを確認
3. ライブラリのインストール(11ステップ)
Step 1: pip更新
python -m pip install --upgrade pip setuptools
Step 2: PyTorch(GPU版)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
重要: CUDA 12.1用のPyTorchをインストール(CUDA 12.3と互換性あり)
Step 3: 基本ライブラリ
pip install numpy scipy cython
Step 4: データ分析・機械学習・統計
pip install scikit-learn pandas matplotlib pillow seaborn lightgbm xgboost nltk gensim h5py graphviz openpyxl catboost spacy prophet statsmodels patsy imbalanced-learn plotly
インストールされるライブラリ:
機械学習:
scikit-learn: 機械学習ライブラリ(分類、回帰、クラスタリング)
lightgbm: 勾配ブースティング(高速・高精度)
xgboost: 勾配ブースティング(Kaggle定番)
catboost: 勾配ブースティング(カテゴリ変数に強い)
データ分析:
pandas: データフレーム操作
matplotlib: グラフ描画
seaborn: 統計的可視化
pillow: 画像処理
plotly: インタラクティブ可視化
統計分析:
statsmodels: 統計モデリング(回帰分析、時系列分析)
patsy: 統計式の記述(R言語スタイル)
imbalanced-learn: 不均衡データ処理(SMOTE等)
NLP基礎:
nltk: 自然言語処理ツールキット
gensim: トピックモデリング・Word2Vec
spacy: 高速NLP処理
時系列予測:
prophet: Facebook製時系列予測
その他:
h5py: HDF5ファイル操作
graphviz: グラフ可視化
openpyxl: Excelファイル操作
Step 5: NLP関連
pip install sentencepiece beautifulsoup4 requests pyttsx3 lxml janome unidic-lite fugashi ipadic ja_ginza pmdarima fasttext-wheel
追加ライブラリ:
fasttext-wheel: 高速テキスト分類・単語埋め込み
janome: 日本語形態素解析
ja_ginza: 日本語NLPパイプライン
Step 6: OpenCV
pip install opencv-python
Step 7: Transformers
pip install transformers accelerate
注意: accelerateはTransformersの高速化ライブラリ
Step 8: 可視化ライブラリ
pip install japanize-matplotlib missingno mlxtend category_encoders factor-analyzer pydot pydotplus wordcloud
Step 9: Jupyter Lab
pip install ipython jupyter jupyterlab
Step 10: Webアプリ開発
pip install django==4.2.1 djangorestframework django-cors-headers flask fastapi uvicorn[standard] selenium joblib
インストールされるフレームワーク:
Django 4.2.1: フルスタックWebフレームワーク
Django REST Framework: REST API構築
Flask: 軽量Webフレームワーク
FastAPI: 高速API開発フレームワーク
Uvicorn: ASGI Webサーバー(FastAPI用)
Selenium: Webスクレイピング・自動化
Step 11: spaCy英語モデル
python -m spacy download en_core_web_sm
4. PyTorch GPU動作確認
GPU認識確認
python -c "import torch; print('CUDA available:', torch.cuda.is_available()); print('GPU:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')"
出力例:
CUDA available: True
GPU: NVIDIA GeForce RTX 4070
5. Django環境の確認
Djangoバージョン確認
python -m django --version
出力例: 4.2.1
6. Jupyter Lab設定
設定ファイル生成
jupyter lab --generate-config
出力例:
Writing default config to: C:\Users\user\.jupyter\jupyter_lab_config.py
デフォルトディレクトリ設定
設定ファイル C:\Users\user\.jupyter\jupyter_lab_config.py を編集:
c.ServerApp.notebook_dir = 'C:\\share'
起動
jupyter lab
ブラウザが自動起動し、http://localhost:8888/lab が開きます
停止
Ctrl + C を2回押す
完全自動インストールスクリプト
setup_pytorch_env.bat を作成:
@echo off
echo ========================================
echo Python 3.12 PyTorch GPU環境セットアップ
echo ========================================
echo.
echo [1/13] 仮想環境の作成...
py -3.12 -m venv py312_pytorch_env
echo.
echo [2/13] 仮想環境の有効化...
call py312_pytorch_env\Scripts\activate
echo.
echo [3/13] pip更新...
python -m pip install --upgrade pip setuptools
echo.
echo [4/13] PyTorch(GPU版)...
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
echo.
echo [5/13] 基本ライブラリ...
pip install numpy scipy cython
echo.
echo [6/13] データ分析・機械学習・統計...
pip install scikit-learn pandas matplotlib pillow seaborn lightgbm xgboost nltk gensim h5py graphviz openpyxl catboost spacy prophet statsmodels patsy imbalanced-learn plotly
echo.
echo [7/13] NLP関連...
pip install sentencepiece beautifulsoup4 requests pyttsx3 lxml janome unidic-lite fugashi ipadic ja_ginza pmdarima fasttext-wheel
echo.
echo [8/13] OpenCV...
pip install opencv-python
echo.
echo [9/13] Transformers...
pip install transformers accelerate
echo.
echo [10/13] 可視化ライブラリ...
pip install japanize-matplotlib missingno mlxtend category_encoders factor-analyzer pydot pydotplus wordcloud
echo.
echo [11/13] Jupyter Lab...
pip install ipython jupyter jupyterlab
echo.
echo [12/13] Webアプリ開発...
pip install django==4.2.1 djangorestframework django-cors-headers flask fastapi uvicorn[standard] selenium joblib
echo.
echo [13/13] spaCy英語モデル...
python -m spacy download en_core_web_sm
echo.
echo ========================================
echo セットアップ完了!
echo ========================================
echo.
echo 仮想環境を有効化: py312_pytorch_env\Scripts\activate
echo GPU動作確認: python pytorch_gpu_check.py
echo インストール確認: python check_installation.py
echo Jupyter Lab起動: jupyter lab
echo Django確認: python -m django --version
echo.
pause
実行方法
setup_pytorch_env.bat
まとめ
インストールされる環境
深層学習:
- PyTorch 2.6.0(GPU版)
- torchvision、torchaudio
- Transformers
- Hugging Face Accelerate
機械学習:
- scikit-learn
- LightGBM
- XGBoost
- CatBoost
データ分析:
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Plotly
統計分析:
- statsmodels
- patsy
- imbalanced-learn
NLP:
- Janome
- spaCy
- NLTK
- Gensim
- fasttext-wheel
- SentencePiece
Webアプリ開発:
- Django 4.2.1
- Django REST Framework
- Flask
- FastAPI
- Uvicorn
開発環境:
- Jupyter Lab
- IPython
その他:
- Selenium(Webスクレイピング)
- OpenCV(画像処理)
- WordCloud(可視化)
- Prophet(時系列予測)
できるようになること
深層学習:
- CNNによる画像分類(ResNet、EfficientNet、Vision Transformer)
- Transformerによる自然言語処理(BERT、GPT、T5)
- LSTM/GRUによる時系列解析
- GPU高速化(CPU比50〜100倍)
Webアプリ開発:
- DjangoでフルスタックWebアプリ構築
- Django REST FrameworkでREST API構築
- FlaskでシンプルなWebアプリ構築
- FastAPIで高速API開発
- AIモデルをWebアプリとして公開