Python と AI

Python と AI についての解説ページです。PythonはAI用の言語というわけではありません。例えば、当サイトでは WEBアプリの開発 についても解説しています。とは言え、AI・機械学習を勉強する人はPythonを避けて通ることはできません。前半でPythonの開発環境、後半でAI・機械学習の入り口について説明します。

 

Python

Apple Silicon Mac の人はまずこの記事をおすすめします。

Apple Silicon (M1) MacでPython環境を作る

Windowsの場合はこちらを見てください。

Windows/WSLでPython環境を作る

 

Jupyter Notebook

Python を使うなら Jupyter Notebook をインストールしておきましょう。Jupyter Notebook を単体でインストールすることもできますが、Python の実行環境を管理できるように Anaconda 等を使ってインストールすることを勧めます。Windows か Intel Mac なら Anaconda を、Apple Silicon Mac なら miniforge をインストールしてください。Intel Mac と Apple Silicon Mac の違いがわからない場合は こちらの記事 を参照してください。

Anacondaのインストール (Windows、Intel Macの場合)

miniforgeのインストール (Apple Silicon Macの場合)

これで Jupyter Notebook を起動できるようになったはずです。次は、基本的な使い方を覚えてください。

Jupyter Notebook の使い方

Pythonの色々なライブラリを使い始めると、それぞれのバージョンの組み合わせで不都合が起きることがあります。そのような場合は目的別に専用の実行環境を作ります。Tensorflowのインストール時にそのような手順がありますので そちら を参考にしてください。

 

scikit-learn

scikit-learnはPythonの機械学習ライブラリです。いくつかの機械学習アルゴリズムの実装を含んでおり、モデルオブジェクトを簡単に記述できます。深層学習に関しては後で述べる Tensorflow 等を使うことが多いです。

テスト環境の作り方は後述の Tensorflow と同じで、インストールするものが違うだけです。いずれ Tensorflow も勉強する人は、Tensorflowの環境を作っておいて、追加で scikit-learn をインストールするのが良い戦略です。Apple Silicon Mac での確認した内容ですが、scikit-learn の環境を作って Jupyter Notebook を起動するまでのコマンド履歴を書いておきます。詳しいことは Tensorflow の項目を参考にしてください。

 

Tensorflow

Tensorflow は Python を使います。Windows または Intel Mac なら Anaconda を、Apple Silicon Mac なら miniforge をインストールして、さらに Jupyter Notebook も使えるようにしておいてください。手順はこのページの少し上、Jupyter Notebook のところを参照してください。

Anaconda または miniforge のインストールができたら Tensorflow の動作環境を作ります。Pythonではライブラリのバージョンの組み合わせで不都合が起きることがあります。そのような場合は目的別に専用の実行環境を作ります。次の説明は Tensorflow の専用の環境を作っていますが、他の目的で専用の実行環境を作るときにも応用できます。

Tensorflowの環境を作る(Anaconda編) (Windows、Intel Macの場合)

Tensorflowの環境を作る(miniforge編) (Apple Silicon Macの場合)

Tensorflowを実際に動かしてみましょう。

Tensorflowで機械学習

 

OpenCV

簡単な形状の物体なら画像処理だけで認識できてしまいます。

OpenCVで物体追跡

顔などの特徴を学習させたカスケード分類器を使うと簡単に画像認識できてしまいます。

OpenCVで顔認識

 

YOLOv5

YOLOで物体認識を試してみます。

YOLOv5 で物体認識

 

エッジデバイス

機械学習には大量のデータや計算能力が必要なので、エッジデバイスで機械学習を実行する(エッジコンピューティング)のは実用的ではありませんでした。ところが、近年その様な目的に特化したデバイスが登場してきています。NVIDIA が開発した Jetson シリーズはそのひとつです。

Jetson Nano 2GB 開発者キット

 

生成AI – ChatGPT

ChatGPT API  –  ChatGPT を API 経由でプログラムから利用できます。

実装例

生成AIが大流行していますが、M5Stack と ChatGPT を使ったスタックチャンは楽しいです。作り方は こちら です。

 

生成AI – Gemini

Gemini API – Google の Gemini も API 経由で利用できます。

実装例

スマホで動作する Gemini アプリは純正のものもありますが、Flutter に組み込む実装例がネット上で見られますのでやってみました。ここでは画像を扱うので gemini-pro-vision モデルを使用しています。

 

コメント