tutorialをやる。このチュートリアルを実践するのに必要な各種モジュールをインポートすると同時に、GPUが使えるように設定しておく。application¶AIアルゴの需要は近年高まって来ている。スマホに画像分類を取り込んだりとかがその好例だ。数十万もの画像で訓練された学習モデルがそういったアプリの一部として使われる。将来のソフト開発の大部分はアプリの一部としてこの種のタイプのモデルが使われるだろう。このチュートリアルでは、色々な花を識別するように画像分類器を訓練する。この訓練モデルを使えば、スマホのカメラで読み込んだ花を言い当てるアプリが作れる。実際には、この分類器を訓練してからアプリの一部として取り込む。102花のカテゴリーのこのデータセットを使う。このチュートリアルは以下のステップを踏む。画像データをロードして前処理する。その画像データを使って画像分類器を訓練する。その訓練した分類器を使って何の画像かを推論させる。上記のサイトからフラワーデータをダウンロードする。'flower_data.tar.gz'.flowersというフォルダを作ってそこでファイルを解凍する。test_dirを設定する。'/test'入力データを、事前学習済みモデルによって要求されている224×224ピクセルにリサイズする。この事前学習済みモデルは、各色チャネルが個別に正規化されたImageNetデータセットで訓練されている。全3セットに対して、モデルが要求する画像の平均と標準偏差を正規化する必要がある。これらの値は、各色チャネルを0が中心のレンジ-1〜1にシフトする。mapping¶カテゴリーラベルからカテゴリーネームへのマッピングをロードする。このファイルが、整数値にエンコードされたカテゴリーを花の実際の名前にマッピングした辞書を与えてくれる。cat_to_name.jsonファイルが見つからないので以下のサイトからダウンロードする。分類器の構築には以下の点に留意する。事前学習済みモデルをロードする(VGGモデルを推奨)。分類器として、ReLU活性化とドロップアウトを使って、新しい未学習フィードフォワードネットワークを定義する。特徴を得るのに未学習モデルを使用し、誤差逆伝播法を使って分類層を訓練する。最良のハイパーパラメータを割り出すのに検証セットを使って損失と正確度を追跡する。network¶モデルが訓練時や検証時に見ていない画像であるテストデータを使って訓練したモデルをテストする。これは、新しい画像でのモデル性能を測るのにもってこい。検証でやったように、ネットワークでテスト画像を実行して正確度を測る。上手く訓練されていれば、大体70%の精度を得られる。訓練したモデルをセーブする。上でセーブしたモデルをロードする。画像をロードするのにPILを使う。訓練時と同じ要領で画像の前処理を行う。最初に、最短側が256ピクセルの画像をリサイズして、アスペクトレシオは維持する。これは、thumbnailかresizeメソッドで達成可能。次に画像の中心の224×224部分を切り出す。色チャネルは、通常、整数0-255にエンコードされているが、モデルは浮動小数0-1を要求するので値を変換する必要がある。np.array(pil_image)のようにNumpyアレイを使うのが最も簡単。0.225]に正規化されることを要求するので、各カラーチャネルから平均を引いて標準偏差で割る。最後に、pytorchは、色チャネルが最初の値を要求するが、PIL画像とNumpyアレイでは3番目の値なので、ndarray.transposeを使って順番を変える。色チャネルは最初で、他の2つは順番を維持する必要がある。入力された花の画像の花の名前を推論させる関数を書く。訓練したモデルの推論がまともかどうかサニティーチェックする。eigonihongo関連記事インテルは人工知能を一過性のブームに過ぎないと見ているらしいインテルは今回の人工知能ブームを、過去に何度か起こっているブームのようなもので、熱が冷めれば、ブームも過ぎ去ると見ているようです。機械学習は、データ中のパターンをコンピュータに学習をさせて、新しい予測をさせる事に焦点を当てた分野で、医者がより正確に病気を診断したり、株式...記事を読む人工知能:AlphaGo(アルファ碁)はどこへ行くのか?グーグルのAlphaGo(アルファ碁)は今後どう進化を続けていくのか?これは誰もが知りたい事ではないでしょうか。物理的システムのコンピューターシミュレーションは、科学、工学、エンタメ系産業では一般的ですが、使われているツールは違います。