当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Tensorflow.js tf.layers.bidirectional()用法及代码示例


Tensorflow.js 是一个由 Google 开发的开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。

tf.layers.bidirectional 函数是 RNN 层的双向包装器。

用法:

tf.layers.bidirectional( args )

Parameters: 该函数接受对象作为具有以下字段的参数:

  • layers: 它是要被包装的 RNN 层的实例。
  • mergeMode: 它应该是‘sum’或‘mul’或‘concat’或‘ave’。它是前向和后向或 RNN 的输出组合的模式。
  • inputShape:它应该是一个数字数组。该字段用于创建输入层,该输入层用于插入到该层之前。
  • batchInputShape: 它应该是一个数字数组。如果提供输入形状和此字段作为创建用于插入到该图层之前的输入图层的参数,则将使用此字段。
  • batchSize: 它应该是一个数字。在没有batchInputShape的情况下,该字段用于创建具有输入形状的batchInputShape。 batchInputShape:[batchSize,...inputShape]。
  • dtype: 如果该层用作输入层,则该字段用作该层的数据类型。
  • name: 它应该是字符串类型。该字段定义该层的名称。
  • trainable: 它应该是布尔值。该字段定义该层的权重是否可以通过拟合进行训练。
  • weights: 这应该是一个定义该层初始权重值的张量。

返回:它返回双向。

示例 1:

Javascript


import * as tf from '@tensorflow/tfjs'
// Bidirectional layer
const k = tf.layers.bidirectional({
   layer: tf.layers.dense({units: 4}),
   batchInputShape: [32, 10, 16],
});
// Creating input layer
const input = tf.input({shape: [10,16,32]});
const output = k.apply(input);
// Printing the Input Shape
console.log(JSON.stringify(output.shape));

输出:

[null,10,16,8]

示例 2:

Javascript


import * as tf from '@tensorflow/tfjs'
// Instance of RNN layer
const RNN = tf.layers.dense({units: 3});
// Creating Bidirectional layer
const k = tf.layers.bidirectional({
   layer: RNN,
   mergeMode: 'sum',
   batchInputShape: [8, 4, 2],
});
// Create a 3d tensor
const x = tf.tensor([1, 2, 3, 4], [4, 1]);
// Apply Bidirectional layer to x
const output = k.apply(x);
// Print output
output.print()

输出:

Tensor
    [[-0.6737164, -1.6011676, 1.9193256],
     [-1.3474327, -3.2023351, 3.8386512],
     [-2.0211492, -4.8035026, 5.7579765],
     [-2.6948655, -6.4046702, 7.6773024]]

参考:https://js.tensorflow.org/api/latest/#layers.bidirectional



相关用法


注:本文由纯净天空筛选整理自satyam00so大神的英文原创作品 Tensorflow.js tf.layers.bidirectional() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。