Up モデルの構築 作成: 2021-04-18
更新: 2021-04-19


    ここまでの経過:
      $ source [venv のパス]/venv/bin/activate (venv) $ python >>> from tensorflow import keras >>> fashion_mnist = keras.datasets.fashion_mnist >>> (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() >>> class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', ... 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot'] >>> train_images = train_images / 255.0 >>> test_images = test_images / 255.0


    (1) 層の設定
    いまより,モデルをつぎの3層構造でつくる:
    1. tf.keras.layers.Flatten 層
        この層は、画像を(28×28ピクセルの)2次元配列から、28×28=784ピクセルの、1次元配列に変換する。 (「画像の中に積まれているピクセルの行を取り崩し、横に並べる」)
    2. tf.keras.layers.Dense (relu) 層
        128個のノード(ニューロン)が全結合。
    3. tf.keras.layers.Dense (softmax) 層
        10個のノード(ニューロン)が全結合。
        この層は、合計が1になる10個の確率の配列を返す──今見ている画像が10個のクラスのそれぞれに属する確率を,10個のノードが出力する。

      >>> model = keras.Sequential([ ... keras.layers.Flatten(input_shape=(28, 28)), ... keras.layers.Dense(128, activation='relu'), ... keras.layers.Dense(10, activation='softmax') ... ]) WARNING:tensorflow: From /home/pi/venv/lib/python3.7/site-packages /tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version. Instructions for updating: If using Keras pass *_constraint arguments to layers. >>>

    (2) モデルのコンパイル
    モデルのコンパイルにおいて,モデルにつぎの設定を加える:
    • 損失関数(loss function)
        訓練中のモデルが不正確であるほど大きな値となる関数。
        この関数の値を最小化することによって、訓練中のモデルを正しい方向に向かわせようとする。
    • オプティマイザ(optimizer)
        モデルが見ているデータと、損失関数の値から、どのようにモデルを更新するかを決定する。
    • メトリクス(metrics)
        訓練とテストのステップを監視するのに使用。
        ここでは,accuracy (正解率) ──画像が正しく分類された比率──を使用する。

      >>> model.compile(optimizer='adam', ... loss='sparse_categorical_crossentropy', ... metrics=['accuracy']) >>>