この記事では、畳み込みニューラルネットワーク(CNN)とMNISTデータセットを使用して、手書きの数字認識のためのKERASモデルの構築を詳述しています。 明確さと改善された流れのためにそれを言い換えましょう。
keras を使用した手書きの桁認識器を構築します このチュートリアルは、建物とトレーニングのニューラルネットワークを簡素化する高レベルのAPIであるPythonのKerasライブラリを使用して、手書きの数字を認識するモデルを作成することを示しています。畳み込みニューラルネットワーク(CNNS)と広く使用されているMnistデータセットの力を活用します。
アプローチを理解する
私たちのモデルは、画像分類のための特に効率的なアーキテクチャであるCNNを採用しています。従来のニューラルネットワークとは異なり、CNNSは3Dアレイ(X、Y座標、色)のデータを処理し、画像データに最適です。 60,000のトレーニングと手書きの数字の10,000のテスト例を含むMNISTデータセットは、トレーニングに必要なラベル付きデータを提供します。
人工ニューラルネットワーク(ANNS)およびCNNSANNは、入力データを隠されたレイヤーを介して出力に変換する数学モデルであり、各レイヤーは確率を表します。 トレーニングには、エラーに基づいてウェイトとバイアスを調整し、ネットワークがパターンを学習できるようにします。 CNNSは、画像処理に大きな利点を提供します。それらの3Dアレイ構造は、各隠されたレイヤーノードが小さな入力領域のみに接続し、従来のANNと比較して効率を劇的に増加させることを意味します。 重要なCNN層には、畳み込み層(機能抽出)、プーリングレイヤー(機能削減)、平らな層(次元低減)、および最終的な分類層が含まれます。
mnistデータセットの操作
MnistデータセットはKeras内で容易に入手できます。 トレーニングとテストのデータを
mnist.load_data()
トレーニングとテストセットには、それぞれ寸法(60000、28、28)と(10000、28、28)があり、28x28ピクセルの画像を示しています。
from keras.datasets import mnist import matplotlib.pyplot as plt (x_train, y_train), (x_test, y_test) = mnist.load_data() image_index = 35 plt.imshow(x_train[image_index], cmap='Greys') plt.show()データ前処理
-
再形成:画像は(m x n x 1)形式に再形成されます。
.reshape()
正規化: - ピクセル値(0-255)は、255で割ることにより0-1に正規化されます。 ワンホットエンコード: 依存変数(
- 、)は、モデルの出力との互換性のためにを使用してバイナリクラスマトリックスに変換されます。
y_train
>y_test
to_categorical()
from keras.datasets import mnist import matplotlib.pyplot as plt (x_train, y_train), (x_test, y_test) = mnist.load_data() image_index = 35 plt.imshow(x_train[image_index], cmap='Greys') plt.show()
CNNモデルは連続的に構築されています:
畳み込みレイヤー:- 入力画像から特徴を抽出します。
- プーリングレイヤー: 寸法と計算コストを削減します。
- ドロップアウトレイヤー: 過剰フィッティングを防ぎます。
- フラットンレイヤー: 多次元出力を1D配列に変換します。
- 密集した層:最終的な分類を実行します。
- モデルは、 損失(整数ラベルの場合)、Adam Optimizer、および精度をメトリックとしてコンパイルします。 トレーニングは、
img_rows, img_cols = 28, 28 x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1) / 255 x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1) / 255 y_train = to_categorical(y_train, num_classes=10) y_test = to_categorical(y_test, num_classes=10)カスタムイメージを使用した
sparse_categorical_crossentropy
テスト.fit()
from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D model = Sequential([ Conv2D(32, (3, 3), activation='relu', input_shape=(img_rows, img_cols, 1)), Conv2D(64, (3, 3), activation='relu'), MaxPooling2D((2, 2)), Dropout(0.25), Flatten(), Dense(128, activation='relu'), Dropout(0.5), Dense(10, activation='softmax') # 10 output classes (digits 0-9) ])モデルをテストするには、カスタム手書きの数字画像をロードし、プリプロースし(グレースケールに変換し、変換し、正規化)、保存されたモデルをロードし、分類を取得するために
を使用して使用します。
.predict()
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(x_train, y_train, batch_size=128, epochs=10, validation_data=(x_test, y_test)) model.save("test_model.h5")
このチュートリアルは、KerasとCNNSを使用して手書きの数字認識モデルの構築に関する基本的な理解を提供します。 高精度(例:> 99%)を達成しながら、モデルパラメーターのチューニング、データの増強、およびより高度なCNNアーキテクチャの調査により、さらなる改善が可能です。 提供されたFAQは、関連する概念に関するさらなる洞察を提供します。
以上がケラスへの初心者のガイド:30分での数字認識の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック









