Tensorflow.js是Google开发的开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
.compile() 函数为训练和评估过程配置和制作模型。通过调用 .compile() 函数,我们为模型准备了优化器、损失和指标。 .compile() 函数将参数对象作为参数。
注意:如果在未编译的模型上调用 .fit() 或 .evaluate() 函数,则程序将抛出错误。
用法:
tf.model.compile({optimizer, loss}, metrics=[])
参数:
- optimizer:它是一个强制参数。它接受 tf.train.Optimizer 的对象或优化器的字符串名称。以下是优化器的字符串名称 - “sgd”、“adam”、“adamax”、“adadelta”、“adagrad”、“rmsprop”、“momentum”。
- loss:它是一个强制参数。它接受损失类型的字符串值或字符串数组。如果我们的模型有多个输出,我们可以通过传递一组损失对每个输出使用不同的损失。模型将最小化的损失值将是所有单个损失的总和。以下是损失的字符串名称——“meanSquaredError”、“meanAbsoluteError” 等。
- metrics:它是一个可选参数。它接受模型在训练和测试阶段评估的指标列表。通常,我们使用metrics=[‘accuracy’]。要为 multi-output 模型的不同输出指定不同的度量,我们还可以传递字典。
返回值:由于它为训练准备模型,因此它不会返回任何内容。 (即返回类型为空)
范例1:在这个例子中,我们将创建一个简单的模型,我们将传递优化器和损失参数的值。这里我们使用优化器作为 “adam” 和损失作为 “meanSquaredError”。
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] })],
});
// compile the model
// using "adam" optimizer and "meanSquaredError" loss
model.compile({ optimizer:"adam", loss:"meanSquaredError" });
// evaluate the model which was compiled above
// computation is done in batches of size 4
const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), {
batchSize:4,
});
// print the result
result.print();
输出:
Tensor 2.6806342601776123
范例2:在这个例子中,我们将创建一个简单的模型,我们将传递优化器、损失和指标参数的值。这里我们使用优化器作为 “sgd”,损失作为 “meanAbsoluteError” 和 “accuracy” 作为指标。
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] })],
});
// compile the model
// using "adam" optimizer, "meanSquaredError" loss and "accuracy" metrics
model.compile(
{ optimizer:"adam", loss:"meanSquaredError" },
(metrics = ["accuracy"])
);
// evaluate the model which was compiled above
// computation is done in batches of size 4
const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), {
batchSize:4,
});
// print the result
result.print();
输出:
Tensor 1.4847172498703003
范例3:在这个例子中,我们将创建一个简单的模型,我们将传递优化器、损失和指标参数的值。这里我们使用优化器作为 “sgd”,损失作为 “meanAbsoluteError” 和 “precision” 作为指标。
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] })],
});
// compile the model
// using "adam" optimizer, "meanSquaredError" loss and "accuracy" metrics
model.compile(
{ optimizer:"sgd", loss:"meanAbsoluteError" },
(metrics = ["precision"])
);
// evaluate the model which was compiled above
// computation is done in batches of size 4
const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), {
batchSize:4,
});
// print the result
result.print();
输出:
Tensor 1.507279634475708
参考:https://js.tensorflow.org/api/latest/#tf.LayersModel.compile
相关用法
- Javascript compile()用法及代码示例
- Node.js Date.compile()用法及代码示例
- Tensorflow.js tf.Tensor.buffer()用法及代码示例
- Java String repeat()用法及代码示例
- Tensorflow.js tf.LayersModel.evaluate()用法及代码示例
- Tensorflow.js tf.data.Dataset.batch()用法及代码示例
- Tensorflow.js tf.Sequential.add()用法及代码示例
注:本文由纯净天空筛选整理自girishthatte大神的英文原创作品 Tensorflow.js tf.LayersModel class .compile() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。