ホームページ >バックエンド開発 >Python チュートリアル >Keras: 詳細な例で基本を理解する
開発者の皆さん、
ディープ ラーニングを初めて使用する場合は、Keras という名前を聞いたことがあるでしょう。しかし、それは正確には何で、どのように機能するのでしょうか?この投稿では、すべてを基礎から説明し、Keras を使用してシンプルな深層学習モデルを構築する段階的な例を示します。 MNIST データセット などの重要な概念についても説明しますので、簡単に理解できるようになります。
Keras は、Python で書かれたオープンソースの高レベル ニューラル ネットワーク API です。これにより、開発者はユーザーフレンドリーなインターフェイスを使用してディープラーニングモデルを迅速かつ簡単に構築できます。 Keras は、TensorFlow などのより複雑な深層学習フレームワークの上に位置するため、基礎となる複雑さによって行き詰まることなく、モデルの構築に集中できます。
MNIST データセット は、機械学習で最も有名なデータセットの 1 つです。これには、手書きの数字 (0 ~ 9) の 70,000 枚の画像 が含まれています。各画像はグレースケール画像で、サイズは 28x28 ピクセルです。目標は、これらの画像を 10 桁のカテゴリのいずれかに分類することです。
MNIST データセットのいくつかの数字の例を次に示します:
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
Keras を使用する場合、MNIST データセットがシンプルでよく理解されており、新しいモデルをテストするのに最適であるため、チュートリアルで使用されることがよくあります。
Keras を使用してこれらの手書きの数字を分類する簡単なニューラル ネットワークを構築しましょう。段階的に説明していきます。
まず、TensorFlow をインストールする必要があります。これは、Keras は最新バージョンの TensorFlow の一部であるためです。 pip 経由でインストールできます:
pip install tensorflow
モデルの構築とトレーニングに必要な TensorFlow と Keras 固有のライブラリをインポートします。
import tensorflow as tf from tensorflow.keras import layers, models
ここで、tensorflow.keras は TensorFlow 内の Keras API です。
Keras は、MNIST などのデータセットへの簡単なアクセスを提供します。データセットをロードし、トレーニング セットとテスト セットに分割します。
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
このステップでは、train_images と train_labels はトレーニング データを保持し、test_images と test_labels はテスト データを保持します。
train_images の各画像は 28x28 ピクセルのグレースケール画像であり、train_labels には各画像に対応する数字ラベル (0 ~ 9) が含まれます。
次に、モデルのトレーニングをより効率的に行うために、画像のピクセル値を正規化する必要があります。画像内の各ピクセル値は 0 ~ 255 です。画像を 255 で割ることにより、これらの値を 0 ~ 1 の間にスケールします。
pip install tensorflow
それでは、Keras を使用してニューラル ネットワークを構築しましょう。 Sequential モデルを作成します。これにより、レイヤーを別のレイヤーの上に積み重ねることができます。
import tensorflow as tf from tensorflow.keras import layers, models
次に、モデルをコンパイルする必要があります。ここで、オプティマイザー、損失関数、および評価指標を指定します。
# Load the MNIST dataset mnist = tf.keras.datasets.mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
これで、モデルをトレーニングする準備が整いました。 5 エポック にわたってトレーニングします (つまり、モデルはトレーニング データセット全体を 5 回実行します)。
# Normalize pixel values to be between 0 and 1 train_images = train_images / 255.0 test_images = test_images / 255.0
モデルがトレーニングされると、テスト データでそのパフォーマンスを評価できます。
# Build the model model = models.Sequential([ layers.Flatten(input_shape=(28, 28)), # Flatten the 28x28 images into a 1D vector of 784 pixels layers.Dense(128, activation='relu'), # Add a fully-connected (Dense) layer with 128 neurons layers.Dense(10, activation='softmax') # Output layer with 10 neurons (one for each digit 0-9) ])
これにより、テスト データセットでのモデルの精度が得られます。
簡単に言うと、
Keras はニューラル ネットワークの構築とトレーニングのプロセスを簡素化し、初心者にとって理想的な出発点となります。基本的なモデルに慣れたら、畳み込みニューラル ネットワーク (CNN) や リカレント ニューラル ネットワーク (RNN) などのより複雑なアーキテクチャを試してみることができます。
Keras を使用してディープ ラーニングの世界に自由に飛び込んで、さまざまなモデルを試して、可能性の限界を押し広げてください!
Keras について今のところどう思いますか?
以上がKeras: 詳細な例で基本を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。