以下の内容はhttps://cysec148.hatenablog.com/entry/2025/04/01/074319より取得しました。


第3回:PyTorchとGoogle ColabでAI開発を始めよう

Hello there, ('ω')ノ

🧠 はじめに:PyTorchとは?

PyTorch(パイトーチ) とは、Facebook(現Meta)が開発したディープラーニング用のPythonフレームワーク です。
機械学習や深層学習のモデル開発に広く使われており、以下のような特徴があります。

直感的で柔軟なコーディング: 動的計算グラフ(Dynamic Computational Graph)を採用し、コードがわかりやすい
研究者・開発者に人気: モデルのプロトタイピングや実験が簡単
GPU・TPU対応: 高速計算のためにGPU/TPUを活用


🎯 なぜPyTorchなのか?

PyTorchのメリットは以下の通りです。

💡 1. コードがシンプルで柔軟
- NumPyライクなAPIでPython初心者でも扱いやすい
- 動的計算グラフにより、実行時に柔軟にモデルを構築可能

⚡️ 2. 高速な計算とGPUサポート
- GPU/TPUを活用して大規模データ処理が可能
- Google Colabと連携すれば無料でGPUを利用できる

🔬 3. 研究・プロダクションの両方で活用
- 研究段階のプロトタイプから、実運用モデルまで幅広く対応
- Hugging Face Transformersなどの最新モデルとも互換性あり


🖥️ Google Colabとは?

Google Colab(コラボ) とは、Googleが提供する クラウド上でPythonのコードを実行できるJupyter Notebook環境 です。
特に、PyTorchなどの機械学習・ディープラーニングのフレームワークを使う際に便利です。

無料でGPU/TPUが使える
Python環境のセットアップ不要
ブラウザから簡単にコードを実行可能


⚡️ 【STEP 1】Google Colabのセットアップ

📝 1. Google Colabにアクセス

👉 Google Colab にアクセスして、Googleアカウントでログインします。

📚 2. 新しいノートブックの作成

  • 「新しいノートブック」 をクリック
  • .ipynb ファイルが開かれ、Jupyter Notebook形式の環境が自動で立ち上がります

🖥️ 3. GPU/TPUを有効にする

  • メニューの 「ランタイム」→「ランタイムのタイプを変更」 を選択
  • 「ハードウェア アクセラレータ」GPU または TPU を選択
  • これでPyTorchの高速処理が可能になります!

⚡️ 【STEP 2】PyTorchのインストール

Google Colabでは、PyTorchがすでにインストールされていますが、バージョンを確認したい場合は以下のコマンドを実行します。

# PyTorchのバージョン確認
import torch
print(torch.__version__)

PyTorchのインストールが必要な場合:

# 最新版のPyTorchをインストール
!pip install torch torchvision torchaudio

🧩 【STEP 3】PyTorchの基本操作

1. Tensor(テンソル)の作成

PyTorchのデータ構造である Tensor(テンソル) は、NumPy配列に似ていますが、GPUでも計算可能です。

import torch

# テンソルの作成
x = torch.tensor([[1, 2], [3, 4]])
print(x)

# ゼロから作成
zeros = torch.zeros(3, 3)
print(zeros)

# ランダム値で作成
rand_tensor = torch.rand(2, 2)
print(rand_tensor)

2. テンソルの演算

基本的な演算はNumPyと同じ感覚で行えます。

a = torch.tensor([3, 4, 5])
b = torch.tensor([1, 2, 3])

# 加算
result_add = a + b
print(result_add)

# 行列積
matrix1 = torch.tensor([[1, 2], [3, 4]])
matrix2 = torch.tensor([[2, 0], [1, 2]])
result_mul = torch.matmul(matrix1, matrix2)
print(result_mul)

3. GPUへの移行

# GPUが利用可能か確認
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")

# GPUにテンソルを移動
x_gpu = x.to(device)
print(x_gpu)

🤖 【STEP 4】PyTorchでニューラルネットワークの構築

📚 1. シンプルなニューラルネットワーク

import torch
import torch.nn as nn
import torch.optim as optim

# ニューラルネットワークの定義
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(2, 4)
        self.fc2 = nn.Linear(4, 1)

    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = torch.sigmoid(self.fc2(x))
        return x

# モデルのインスタンス化
model = SimpleNN()
print(model)

⚡️ 2. モデルの学習・最適化

# 損失関数と最適化アルゴリズム
criterion = nn.BCELoss()  # バイナリクロスエントロピー
optimizer = optim.Adam(model.parameters(), lr=0.01)

# ダミーデータ
data = torch.tensor([[0.5, 0.8], [1.2, 0.4], [0.3, 0.9]])
labels = torch.tensor([[1.0], [0.0], [1.0]])

# 10エポックのトレーニングループ
for epoch in range(10):
    optimizer.zero_grad()
    outputs = model(data)
    loss = criterion(outputs, labels)
    loss.backward()
    optimizer.step()
    print(f'Epoch [{epoch+1}/10], Loss: {loss.item():.4f}')

🎨 【STEP 5】Google Colabで画像認識モデルを実装

📸 1. CIFAR-10データセットの読み込み

import torchvision
import torchvision.transforms as transforms

# データの前処理
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])

# データのダウンロード
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=32, shuffle=True)

🤖 2. CNNモデルの定義

class CNN(nn.Module):
    def __init__(self):
        super(CNN, self).__init__()
        self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
        self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)
        self.fc1 = nn.Linear(16 * 16 * 16, 10)

    def forward(self, x):
        x = self.pool(torch.relu(self.conv1(x)))
        x = x.view(-1, 16 * 16 * 16)
        x = self.fc1(x)
        return x

⚡️ 【STEP 6】Colabでのファイルの保存・共有

💾 1. ノートブックの保存

  • 「ファイル」→「ドライブにコピーを保存」 でGoogleドライブに保存可能
  • .ipynb ファイルはダウンロードしてローカルで編集も可能

📤 2. モデルの保存

# モデルの保存
torch.save(model.state_dict(), 'model.pth')

# モデルの読み込み
model.load_state_dict(torch.load('model.pth'))

🎁 まとめ:PyTorchとGoogle ColabでAI開発を始めよう!

PyTorchは、柔軟性と高速性を兼ね備えたディープラーニングフレームワーク
Google Colabを使えば、無料でGPU/TPU環境が利用可能
テンソル操作、モデル構築、トレーニングの基本をマスター!
画像認識モデルや生成モデルの構築もColabで手軽に実現可能

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/04/01/074319より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14