Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tensorflowを使用して、Pythonを使用して高密度レイヤーを上に追加するにはどうすればよいですか?


「add」メソッドを使用し、レイヤーのタイプを「Dense」として指定して、密なレイヤーをシーケンシャルモデルに追加できます。レイヤーは最初にフラット化され、次にレイヤーが追加されます。この新しいレイヤーは、トレーニングデータセット全体に適用されます。

続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか?

Keras Sequential APIを使用します。これは、すべてのレイヤーに1つの入力テンソルと1つの出力テンソルがあるプレーンスタックのレイヤーを操作するために使用されるシーケンシャルモデルの構築に役立ちます。

Google Colaboratoryを使用して、以下のコードを実行しています。 Google ColabまたはColaboratoryは、ブラウザー上でPythonコードを実行するのに役立ち、構成が不要で、GPU(グラフィックプロセッシングユニット)に無料でアクセスできます。 ColaboratoryはJupyterNotebookの上に構築されています。

print("Adding dense layer on top")
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10))
print("Complete architecture of the model")
model.summary()

コードクレジット:https://www.tensorflow.org/tutorials/images/cnn

出力

Adding dense layer on top
Complete architecture of the model
Model: "sequential_1"
_________________________________________________________________
Layer (type)                         Output Shape         Param #  
=================================================================
conv2d_3 (Conv2D)                  (None, 30, 30, 32)      896        
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 15, 15, 32)            0            
_________________________________________________________________
conv2d_4 (Conv2D)                  (None, 13, 13, 64)      18496      
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 6, 6, 64)               0            
_________________________________________________________________
conv2d_5 (Conv2D)                  (None, 4, 4, 64)         36928      
_________________________________________________________________
flatten (Flatten)                  (None, 1024)               0            
_________________________________________________________________
dense (Dense)                        (None, 64)               65600      
_________________________________________________________________
dense_1 (Dense)                     (None, 10)               650        
=================================================================
Total params: 122,570
Trainable params: 122,570
Non-trainable params: 0
_________________________________________________________________

説明

  • モデルを完成させるために、畳み込みベース(形状(4、4、64))からの最後の出力テンソルが1つ以上の高密度レイヤーに供給されて分類が実行されます。
  • 高密度レイヤーは入力としてベクトル(1D)を取り、現在の出力は3Dテンソルです。
  • 次に、3D出力が1Dにフラット化され、1つ以上の高密度レイヤーが上に追加されます。
  • CIFARには10個の出力クラスがあるため、10個の出力を持つ最終的なDenseレイヤーが追加されます。
  • (4、4、64)出力は、2つの高密度レイヤーを通過する前に、形状のベクトル(1024)にフラット化されます。

  1. Tensorflowを使用してPythonを使用して2つの行列を追加するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ

  2. Pythonを使用してモデルをプロットするためにKerasをどのように使用できますか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 Tensorは、TensorFlowで使用されるデータ構造です。フロー図のエッジを接続するのに役立ちます。このフロー図は「データフローグラフ」と呼ばれます。テンソルは多次元配列またはリストに他なりません。 Kerasは、プロジェクトONEIROS(オープンエンドの神経電子イン