Tensorflow.js 是 Google 開發的一個 javascript 庫,用於在瀏覽器或 Node.js 中運行和訓練機器學習模型。 Tensorflow.js tf.layers.conv1d() 函數用於創建卷積層。它用於對輸入數據應用一維卷積。卷積層用於製作過濾器,用於過濾所需輸出中的輸入數據。
用法:
tf.layers.conv1d(args);
參數:該函數接受以下參數:
- args:這是包含以下值的對象類型:
- filters:它是定義輸出張量維度的數字。它是卷積中過濾器的數量。
- kernelSize:它定義了卷積層的卷積窗口,這意味著輸入數據的子集一次需要。
- strides:它定義了卷積層在每個維度上移動輸入數據的單位。
- padding:它定義了卷積層的填充,這意味著在處理過程中添加到輸入數據中的數據量。它的值可以是 ‘valid’、‘same’ 和 ‘causal’。
- dataFormat:它將輸入數據的數據格式定義為數據在“channelsFirst”或“channelsLast”中。
- dilationRate:它用於擴張每個維度的卷積。它用於定義內核中值之間的空間。
- activation:它定義了用於輸入數據的激活函數。
- useBias:它用於決定是否使用偏差向量。
- kernelInitializer:它是卷積層內核的初始權重。它定義了設置卷積層初始隨機權重的方式。
- biasInitializer:它是卷積層偏置向量的初始權重。
- kernelConstraint:用於提高效率的是卷積層內核權重的約束。
- biasConstraint:是卷積層偏置向量提高效率的約束。
- kernelRegularizer:正則化函數應用於核的權重矩陣以對其進行正則化。
- biasRegularizer:它是應用於偏置向量以對其進行正則化的正則化函數。
- activityRegularizer:它是用於正則化目的的激活函數。
- inputShape:它聲明該層接受該形狀的輸入層。它僅用於輸入層。
- batchInputShape:它定義了輸入層的批量大小。它用於輸入層。
- batchSize:在製作輸入層的過程中作為batchInputShape的補充。
- dtype:它定義了該層的數據類型。 ‘float32’ 是層的默認值。
- trainable:它用於使函數層可訓練或不可訓練。
- weights:它是該層的初始權重值。
- inputDtype:它用於決定輸入層的數據類型。
返回值:轉數1D
範例1:在這個例子中,我們將創建序列模型並使用過濾器、內核大小、輸入形狀和激活向其中添加一維卷積層。最後我們用層編譯我們的模型並查看它的摘要。
Javascript
import * as tf from "@tensorflow/tfjs"
// Craating model
const geek_Model = tf.sequential();
// Adding inputLayer layer
const geek_config = {inputShape:[7,4]};
const geek_layer1 = tf.layers.inputLayer(geek_config);
geek_Model.add(geek_layer1);
// Adding convolution layer
const geek_config2 = {
filters:10,kernelSize:7
,inputShape:[28,1],
activation:'relu'};
const geek_layer2 = tf.layers.conv1d(geek_config2);
//console.log(y.shape);
geek_Model.add(geek_layer2);
// Adding dense layer
const geek_config3 = {
units:7,
activation:'softmax'
};
const geek_layer3 = tf.layers.dense(geek_config3);
geek_Model.add(geek_layer3)
// Compiling our model
const geek_config4 = {
optimizer:'sgd',
loss:'meanSquaredError'
};
geek_Model.compile(geek_config4);
// Printing our summary
geek_Model.summary()
輸出:
_________________________________________________________________ Layer (type) Output shape Param # ================================================================= input1 (InputLayer) [null,7,4] 0 _________________________________________________________________ conv1d_Conv1D1 (Conv1D) [null,1,10] 290 _________________________________________________________________ dense_Dense1 (Dense) [null,1,7] 77 ================================================================= Total params:367 Trainable params:367 Non-trainable params:0 _________________________________________________________________
範例2:在這個例子中,我們將看到卷積層如何根據配置過濾輸入數據。在這裏,我們使用 inputShape 、filter 、 kernelSize 、activation 製作卷積層並用它編譯模型。過濾卷積層後,我們對輸入數據使用預測函數。
Javascript
import * as tf from "@tensorflow/tfjs"
// Input Layer for model
const geek_config = {shape:[3,4]};
const geek_InputL = tf.input(geek_config);
console.log(`Input layer shape:${geek_InputL.shape}`);
// Convolution For the model
const geek_config2 = {
filters:2,kernelSize:2
,inputShape:[3,4],
activation:'sigmoid'};
const geek_convLayer = tf.layers.conv1d(geek_config2).apply(geek_InputL);
console.log(`Convolution layer shape:${geek_convLayer.shape}`);
// Adding layer to the model
const geek_config3 = {inputs:geek_InputL, outputs:geek_convLayer};
const model = tf.model(geek_config3);
// Compiling the model
const geek_config4 = {optimizer:'sgd',loss:'meanSquaredError'};
model.compile(geek_config4);
// Predicting the value for the input
const geek_Test = tf.randomUniform([3,3,4]);
model.predict(geek_Test).print();
輸出:
Input layer shape:,3,4 Convolution layer shape:,2,2 Tensor [[[0.5468831, 0.4990641], [0.3059803, 0.4743758]], [[0.4450175, 0.4848864], [0.3678558, 0.4276305]], [[0.4802476, 0.5687023], [0.4083693, 0.4854257]]]
參考:https://js.tensorflow.org/api/3.6.0/#layers.conv1d
相關用法
- PHP imagecreatetruecolor()用法及代碼示例
- p5.js year()用法及代碼示例
- d3.js d3.utcTuesdays()用法及代碼示例
- PHP ImagickDraw getTextAlignment()用法及代碼示例
- PHP Ds\Sequence last()用法及代碼示例
- PHP Imagick floodFillPaintImage()用法及代碼示例
- PHP geoip_continent_code_by_name()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- PHP GmagickPixel setcolor()用法及代碼示例
- Tensorflow.js tf.layers.embedding()用法及代碼示例
- PHP opendir()用法及代碼示例
- d3.js d3.bisectLeft()用法及代碼示例
注:本文由純淨天空篩選整理自satyam00so大神的英文原創作品 Tensorflow.js tf.layers.conv1d() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。