Tensorflow.js是Google開發的開源工具包,用於在瀏覽器或節點平台上執行機器學習模型和深度學習神經網絡。它還使開發人員能夠在 JavaScript 中創建機器學習模型,並直接在瀏覽器中或通過 Node.js 使用它們。
tf.layers.averagePooling2d() 函數用於對空間數據應用平均池化操作。如果其 dataFormat 字段設置為 CHANNEL_LAST,它將采用 4d 形狀 [batchSize、rows、cols、channels] 的張量作為輸入,並輸出 4d 形狀的張量:[batchSize、poolsRows、pooledCols、channels]。其 dataFormat 字段設置為 CHANNEL_FIRST,它以 4d 形狀的張量作為輸入:[batchSize,channels,rows,cols]並輸出形狀為:[batchSize,channels,poolsRows,pooledCols]的張量。
用法:
tf.layers.averagePooling2d( args )
參數:
- args:它是一個具有以下屬性的對象:
- poolSize:它用於縮小每個維度(即[垂直、水平])的因子。它是一個整數或兩個整數的數組。
- strides: 在池化窗口的每個維度中,步幅大小。它是一個整數或兩個整數的數組。
- padding: 用於池化層的填充類型。
- dataFormat: 用於池化層的數據格式。
- inputShape: 如果指定了,它將用於構造一個輸入層,該輸入層將插入到該層之前。
- batchInputShape: 如果指定,它將用於創建一個輸入層,該輸入層將插入到該層之前。
- batchSize: 它支持inputShape來構建batchInputShape。
- dtype: 這是該層的數據類型。該參數僅適用於輸入層。
- name: 它是字符串類型。這是該層的名稱。
- trainable: 如果設置為 true,則隻有該層的權重會因擬合而改變。
- weights: 圖層的初始權重值。
返回:它返回 AveragePooling2D
示例 1:
Javascript
import * as tf from "@tensorflow.js/tfjs"
const model = tf.sequential();
// First layer must have a defined input shape
model.add(tf.layers.averagePooling2d({
poolSize: 2,
strides: 3,
padding: 'valid',
inputShape: [2, 3, 2]
}));
// Afterwards, TF.js does automatic shape inference.
model.add(tf.layers.dense({units: 3}));
model.add(tf.layers.averagePooling2d({
poolSize: 2,
strides: 3,
padding: 'valid'
}));
// Inspect the inferred shape of the model's output.
model.summary();
輸出:
__________________________________________________________________________________________ Layer (type) Input Shape Output shape Param # ========================================================================================== average_pooling2d_AveragePo [[null,2,3,2]] [null,1,1,2] 0 __________________________________________________________________________________________ dense_Dense4 (Dense) [[null,1,1,2]] [null,1,1,3] 9 __________________________________________________________________________________________ average_pooling2d_AveragePo [[null,1,1,3]] [null,0,0,3] 0 ========================================================================================== Total params: 9 Trainable params: 9 Non-trainable params: 0 __________________________________________________________________________________________
示例 2:
Javascript
import * as tf from "@tensorflow/tfjs";
const Input = tf.input({ shape: [2, 3, 5] });
const averagePooling2DLayer =
tf.layers.averagePooling2d(
{ dataFormat: 'channelsLast' }
);
const Output = averagePooling2DLayer.apply(Input);
const Data = tf.ones([2, 2, 3, 5]);
const model =
tf.model({ inputs: Input, outputs: Output });
model.predict(Data).print();
輸出:
Tensor [ [ [[1, 1, 1, 1, 1],]], [ [[1, 1, 1, 1, 1],]]]
參考:https://js.tensorflow.org/api/latest/#layers.averagePooling2d
相關用法
- Tensorflow.js tf.layers.averagePooling1d()用法及代碼示例
- Tensorflow.js tf.layers.averagePooling3d()用法及代碼示例
- Tensorflow.js tf.layers.average()用法及代碼示例
- Tensorflow.js tf.layers.alphaDropout()用法及代碼示例
- Tensorflow.js tf.layers.add()用法及代碼示例
- Tensorflow.js tf.layers.activation()用法及代碼示例
- Tensorflow.js tf.layers.minimum()用法及代碼示例
- Tensorflow.js tf.layers.flatten()用法及代碼示例
- Tensorflow.js tf.layers.repeatVector()用法及代碼示例
- Tensorflow.js tf.layers.multiply()用法及代碼示例
- Tensorflow.js tf.layers.embedding()用法及代碼示例
- Tensorflow.js tf.layers.dense()用法及代碼示例
- Tensorflow.js tf.layers.permute()用法及代碼示例
- Tensorflow.js tf.layers.reshape()用法及代碼示例
- Tensorflow.js tf.layers.dropout()用法及代碼示例
- Tensorflow.js tf.layers.concatenate()用法及代碼示例
- Tensorflow.js tf.layers.gaussianNoise()用法及代碼示例
- Tensorflow.js tf.layers.gaussianDropout()用法及代碼示例
- Tensorflow.js tf.layers.elu()用法及代碼示例
- Tensorflow.js tf.layers.masking()用法及代碼示例
- Tensorflow.js tf.layers.timeDistributed()用法及代碼示例
- Tensorflow.js tf.layers.gru()用法及代碼示例
- Tensorflow.js tf.layers.simpleRNNCell()用法及代碼示例
- Tensorflow.js tf.layers.gruCell()用法及代碼示例
- Tensorflow.js tf.layers.maximum()用法及代碼示例
注:本文由純淨天空篩選整理自satyam00so大神的英文原創作品 Tensorflow.js tf.layers.averagePooling2d() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。