當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Tensorflow.js tf.layers.averagePooling3d()用法及代碼示例


Tensorflow.js 是Google開發的開源工具包,用於在瀏覽器或節點平台上執行機器學習模型和深度學習神經網絡。它還使開發人員能夠在 JavaScript 中創建機器學習模型,並直接在瀏覽器中或通過 Node.js 使用它們。

tf.layers.averagePooling3d()函數用於對3D數據應用平均池化操作。如果其 dataFormat 字段設置為 CHANNEL_LAST,它將采用 5d 形狀 [batchSize、深度、行、列、通道] 的張量作為輸入,並輸出 5d 形狀的張量:[batchSize、pooledDepths、pooledRows、pooledCols、channels]。其 dataFormat 字段設置為 CHANNEL_FIRST,它采用 4d 形狀的張量作為輸入:[batchSize,channels,deeps,rows,cols],並輸出形狀為:[batchSize,channels,pooledDepths,pooledRows,pooledCols]的張量。

句法:

tf.layers.averagePooling3d( args )

參數:

  • args: 它是一個具有以下屬性的對象:
    • poolSize: 它用於縮小每個維度的因子,即[深度、高度、寬度]。它是一個整數或三個整數的數組。
    • strides: 在池化窗口的每個維度中,步幅大小。它是一個整數或需要三個整數的數組。
    • padding: 用於池化層的填充類型。
    • dataFormat: 用於池化層的數據格式
    • inputShape: 如果指定,則用於創建插入到該層之前的輸入層。
    • batchInputShape: 如果指定,則用於創建插入到該層之前的輸入層。
    • batchSize: 它用於在 inputShape 的幫助下創建batchInputShape。
    • dtype: 它是這些層的數據類型。這些參數專門應用於輸入層。
    • name: 它是字符串類型。這是這些層的名稱。
    • trainable: 如果設置為 true,則隻有該層的權重會因擬合而改變。
    • weights: 圖層的初始權重值。

返回:它返回 AveragePooling3D

示例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.averagePooling3d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid',
    inputShape: [4, 3, 5, 2], 
    batchSize: 2, 
    dataFormat: 'channelsFirst'
}));
// Afterwards, TF.js does automatic shape inference
model.add(tf.layers.dense({ units: 5 }));
// Inspect the inferred shape of the model's output
console.log(JSON.stringify(model.outputs[0].shape));

輸出:

[2,4,0,1,5]

示例 2:

Javascript


import * as tf from "@tensorflow/tfjs";
const Input = tf.input({ shape: [2, 2, 2, 3] });
const averagePooling3dLayer =
    tf.layers.averagePooling3d({ 
        poolSize: 3, 
        strides: 2, 
        padding: 'same', 
        dataFormat: 'channelsLast', 
        batchSize: 3 
    });
const Output = averagePooling3dLayer.apply(Input);
const model = tf.model({ inputs: Input, outputs: Output });
const Data = tf.tensor5d([8, 2, 2, 6, 8, 9, 9, 4, 8, 9, 
    3, 8, 3, 8, 9, 4, 5, 2, 5, 9, 6, 8, 9, 3],
    [1, 2, 2, 2, 3]
);
model.predict(Data).print();

輸出:

Tensor
     [ [ [ [[6.5, 6, 5.875],]]]]

參考:https://js.tensorflow.org/api/latest/#layers.averagePooling3d



相關用法


注:本文由純淨天空篩選整理自satyam00so大神的英文原創作品 Tensorflow.js tf.layers.averagePooling3d() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。