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

Tensorflowを使用して、Pythonを使用して畳み込みベースを作成するにはどうすればよいですか?


畳み込みニューラルネットワークは、通常、畳み込み層、プーリング層、高密度層の組み合わせで構成されます。

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

畳み込みニューラルネットワークは、画像認識などの特定の種類の問題に対して優れた結果を生み出すために使用されてきました。これは、「models」クラスに存在する「Sequential」メソッドを使用して作成できます。 「add」メソッドを使用して、この畳み込みネットワークにレイヤーを追加できます。

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

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

print("Creating the convolutional base")
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
print("Description of arhcitecture is")
model.summary()

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

出力

Creating the convolutional base
Description of arhcitecture is
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #  
=================================================================
conv2d (Conv2D)              (None, 30, 30, 32)        896      
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 15, 15, 32)        0        
_________________________________________________________________
conv2d_1 (Conv2D)            (None, 13, 13, 64)        18496    
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 6, 6, 64)          0        
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 4, 4, 64)          36928    
=================================================================
Total params: 56,320
Trainable params: 56,320
Non-trainable params: 0

説明

  • 上記の行は、一般的なパターンを使用して畳み込みベースを定義するのに役立ちます。

  • このパターンは、Conv2DレイヤーとMaxPooling2Dレイヤーのスタックです。

  • 入力として、CNNは形状のテンソル(image_height、image_width、color_channels)を取ります。

  • CNNは、CIFAR画像の形式である形状(32、32、3)の入力を処理するように構成されています。

  • これは、引数input_shapeを最初のレイヤーに渡すことで実行できます。

  • すべてのConv2DおよびMaxPooling2Dレイヤーの出力は、形状(高さ、幅、チャネル)の3Dテンソルです。

  • ネットワークが深くなるにつれて、幅と高さの寸法は縮小します。

  • すべてのConv2Dレイヤーの出力チャネルの数は、最初の引数(32または64など)によって制御されます。


  1. matplotlibを使用してPythonを使用してヒストグラムを作成するにはどうすればよいですか?

    Matplotlibは、データの視覚化に使用される人気のあるPythonパッケージです。 データを視覚化することは、実際に数値を調べたり複雑な計算を実行したりすることなく、データで何が起こっているのかを理解するのに役立つため、重要なステップです。 定量的な洞察を聴衆に効果的に伝えるのに役立ちます。 Matplotlibは、データを使用して2次元プロットを作成するために使用されます。 Pythonアプリケーションにプロットを埋め込むのに役立つオブジェクト指向APIが付属しています。 Matplotlibは、IPythonシェル、Jupyterノートブック、SpyderIDEなどで使用できま

  2. Keras機能APIを使用してPythonを使用してレイヤーを作成する方法について話し合う

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 「tensorflow」パッケージは、以下のコード行を使用してWindowsにインストールできます- pip install tensorflow ケラスはギリシャ語で「角」を意味します。 Kerasは、プロジェクトONEIROS(オープンエンドの神経電子インテリジェントロ