「サンプルコード」タグアーカイブ

🧠 Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(2) ~実践サンプルコード編~

前回の記事
🧠Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(1) ~環境構築編~

では、

「Python公式版+仮想環境を使ったTensorFlow開発環境構築」
を行い、AI開発の準備が整いました。

今回はその続編として、
実際にTensorFlowとKerasを使って手書き数字を判定するAIモデルを作る実践編 を解説します。
データの読み込みからモデルの学習・評価・予測までを、
最小限のシンプルなコードで体験してみましょう。


🧩 動作環境(前回と同じ構成)

項目バージョン・設定内容
OSWindows 11 Pro(64bit)
Python3.13.7(公式版インストーラ)
pip25.2
仮想環境venv(C:\python_env\env)
TensorFlow2.20.0
matplotlib3.10.6


🧠 ステップ①:MNISTデータセットを読み込む

TensorFlowには「手書き数字データ(MNIST)」が標準で付属しています👇


🧩 ステップ②:データの前処理


これで学習が安定し、計算精度が向上します。

🧩 ステップ③:モデル構築(Keras Sequential)


🧩 ステップ④:学習を実行


約5エポックで 98%前後の精度 が出るはずです✨

🧩 ステップ⑤:テストデータで評価


🧩 ステップ⑥:実際に予測してみる


AIが画像を認識して、数字を正しく判定してくれます👀✨

ステップ①~⑥のコードについて

各ステップは、順番に実行される処理の流れを分けて説明しているだけで、
実際のプログラムとしては 連続して動く1つのコード になります。

つまり、実際に実行する場合は次のようにすべてまとめて書いて問題ありません👇


✅ 例:mnist_sample.py として保存する内容


💾 保存と実行

  1. C:\python_env などに上記を mnist_sample.py として保存

  2. 仮想環境を有効化:


  3. 実行:

  4. 実行例

📊 補足:精度向上のヒント

  • CNN(畳み込みニューラルネットワーク) を導入する

  • Dropout で過学習を防止

  • エポック数や学習率 の調整

これらを追加すると、より実践的なモデルになります。


🚀 まとめ

本記事では、
TensorFlowとKerasを用いて「手書き数字判定AI」を実装しました。

これで、

  • データの前処理

  • モデル構築

  • 学習・評価・予測
    というAIの基本的な流れを一通り理解できたはずです。

次回

🧠 Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(3) ~CNNによる高精度モデル編~

は、CNNを用いた高精度モデル化(第3回) に挑戦します🔥

Three.jsで簡単3D演出!初心者でもホームページをかっこよくする方法

「ホームページをかっこよく見せたい」「シンプルに3D演出を加えてみたい」──そんなときに役立つのが Three.js です。
JavaScriptだけで3Dオブジェクトを動かせる便利なライブラリで、近年のWebサイトでも多く使われています。

この記事では 最新版 Three.js (r180) を使って、実際に「回転する立方体」を表示するサンプルを紹介します。


1. Three.jsとは?

Three.js は WebGL をラップしたライブラリで、難しい低レベルコードを書かなくても以下のような処理が可能です。

  • 3Dオブジェクトの作成(立方体・球体・モデルの読み込み)

  • カメラの制御

  • ライトの設置

  • マテリアルやシェーダーの設定

  • アニメーション処理


2. サンプルコード(最新版 Three.js r180 対応)

以下は 最小構成のサンプル です。
HTMLファイルを作成して保存してください。

 

3. デモ(実際に動くサンプル)

このブログ記事では、外部ファイルとして用意したサンプルhtmlを iframe で埋め込んで表示してます。

デモ1:基本の回転する立方体

👇 実際に回転する立方体が表示されます。 

デモ2:ライトを使った立方体

光源を加えることで、立方体に陰影がつき、立体感が増します。

デモ3:マテリアル変更

単色ではなく、ワイヤーフレームや透過マテリアルを適用できます。

デモ4:カメラ操作

OrbitControlsを使うと、マウスで回転・拡大縮小できるインタラクティブなデモが可能です。


4. ローカルで動かすには?

上記のコードをコピーして test.html などの名前で保存 → ブラウザで開いても、真っ白になる場合があります。
これは ES Modules を使う Three.js の最新版では、file:/// での読み込みがセキュリティ上ブロックされるためです。

✅ 解決方法

ローカルで動かすには 簡易Webサーバ を立ち上げる必要があります。

例:

  • Python がある場合

    python -m http.server 8000

  • Node.js がある場合 

    npx http-server -p 8000

その後、ブラウザで
http://localhost:8000/test.html
を開くと正しく表示されます。


5. まとめ

  • Three.jsを使えば簡単に3D演出を加えられる

  • 最新版 (r180) は ES Modules形式file:/// では動作しない

  • 実際の環境では Webサーバ経由で実行する必要がある

  • WordPress記事に埋め込む場合は iframe で外部HTMLを呼び出すのが安全

これをベースに、さらにライト・カメラ操作・外部モデル読み込みを試していけば、よりリッチな演出を作れます!