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


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


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

tf.layers.dropout() 函数是 Tensorflow.js 库的内置函数。此函数用于通过在训练期间的每次更新时将输入单元的分数随机设置为 0 来防止模型过度拟合。

用法:

tf.layers.dropout( {rate} )

参数:

  • args:给定的对象作为参数。
  • rate:指定要删除的输入单位的分数。它的值在 0 到 1 之间。
  • noiseShape:表示将与输入相乘的 dropout 形状的整数列表。它是一个可选参数。
  • seed:指定随机种子。它是一个可选参数。
  • inputShape:如果定义了此参数,它将创建另一个输入层以插入到该层之前。
  • batchInputShape:如果定义了此参数,它将创建另一个输入层以插入到该层之前。
  • batchSize:用于构造batchInputShape(如果尚未指定)。
  • dtype:指定该图层的数据类型。该参数的默认值为 ‘float32’。
  • name:指定该层的名称。
  • trainable:指定该层的权重是否通过拟合更新。
  • weights:指定图层的初始权重值。
  • inputDType:用于表示 inputDType,其值可以是 ‘float32’ 或 ‘int32’ 或 ‘bool’ 或 ‘complex64’ 或 ‘string’。

返回值:它返回 Dropout。



范例1:我们将创建一个新模型并向其添加 dropout 层。

Javascript


// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers:[tf.layers.dense({ 
        units:1, inputShape:[10] 
    })],
});
  
// Add dropout to model
model.add(tf.layers.dropout({ rate:0.25 }));
    
// Compile the model
model.compile(
    { optimizer:"sgd", loss:"meanAbsoluteError" },
    (metrics = ["accuracy"])
);
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize:4,
});
   
// Print the resulting tensor
result.print();

输出:

Tensor
    1.608272910118103

范例2:

Javascript


// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers:[tf.layers.dense({ 
        units:1, inputShape:[10] 
    })],
});
    
// Add dropout to model
model.add(tf.layers.dropout({ rate:0.5 }));
  
// Compile the model
model.compile({ optimizer:"adam", 
    loss:"meanSquaredError" });
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize:2,
});
    
// Print the result
result.print();

输出:

Tensor
    0.9941154718399048

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




相关用法


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