Tensorflow JS nodejs 绑定,无法设置自定义优化器
TensforflowJS nodejs binding, unable to set custom optimzer
我刚刚开始使用 tensorflowjs 和一般的 tensorflow,我 运行 遇到了一个我无法完全解决的问题。我正在尝试更改优化器的学习率,但一旦我使用自定义优化器,我就会收到以下错误:
User-defined optimizer must be an instance of tf.Optimizer
为了创建我的模型,我正在执行以下操作(从文档 here 中提取):
const model = tf.sequential();
model.add(tf.layers.dense({units:1, inputShape:[11]}));
model.compile({
optimizer: tf.train.sgd(0.000001),
loss: 'meanSquaredError'
});
据我所知一切正常。如果我只是传递默认的 'sgd' 优化器,它确实有效。
model.compile({loss:'meanSquaredError', optimizer:'sgd'});
https://js.tensorflow.org/api/latest/index.html#train.sgd 的文档也暗示第一个代码片段应该返回一个 SGDOptimizer。
有人知道我做错了什么吗?
我运行使用以下tensorflow包运行ning node V8
"@tensorflow/tfjs-core": "^0.14.2",
"@tensorflow/tfjs-node": "^0.1.21",
如果我创建我的优化器并将其存储在一个单独的变量中。该 var 的 console.log 给出以下内容:
SGDOptimizer {
learningRate: 0.000001,
c:
Tensor {
isDisposedInternal: false,
shape: [],
dtype: 'float32',
size: 1,
strides: [],
dataId: {},
id: 4,
rankType: '0' } }
看来它已经初始化了
您不应该直接在 package.json 中导入 tfjs-core。如果单独导入 tfjs-node,它将导入正确的 tfjs-core 版本。
问题是你有双重依赖(我们会解决)。
我刚刚开始使用 tensorflowjs 和一般的 tensorflow,我 运行 遇到了一个我无法完全解决的问题。我正在尝试更改优化器的学习率,但一旦我使用自定义优化器,我就会收到以下错误:
User-defined optimizer must be an instance of tf.Optimizer
为了创建我的模型,我正在执行以下操作(从文档 here 中提取):
const model = tf.sequential();
model.add(tf.layers.dense({units:1, inputShape:[11]}));
model.compile({
optimizer: tf.train.sgd(0.000001),
loss: 'meanSquaredError'
});
据我所知一切正常。如果我只是传递默认的 'sgd' 优化器,它确实有效。
model.compile({loss:'meanSquaredError', optimizer:'sgd'});
https://js.tensorflow.org/api/latest/index.html#train.sgd 的文档也暗示第一个代码片段应该返回一个 SGDOptimizer。
有人知道我做错了什么吗?
我运行使用以下tensorflow包运行ning node V8
"@tensorflow/tfjs-core": "^0.14.2",
"@tensorflow/tfjs-node": "^0.1.21",
如果我创建我的优化器并将其存储在一个单独的变量中。该 var 的 console.log 给出以下内容:
SGDOptimizer {
learningRate: 0.000001,
c:
Tensor {
isDisposedInternal: false,
shape: [],
dtype: 'float32',
size: 1,
strides: [],
dataId: {},
id: 4,
rankType: '0' } }
看来它已经初始化了
您不应该直接在 package.json 中导入 tfjs-core。如果单独导入 tfjs-node,它将导入正确的 tfjs-core 版本。
问题是你有双重依赖(我们会解决)。