来自localStorage的Tensorflow.js tf.loadModel()不起作用

时间:2018-06-06 14:02:01

标签: tensorflow.js

我在使用 tf.loadModel()时遇到了问题。我已经构建并训练了一个模型,现在我想将它存储到浏览器的localStorage并再次检索它。

path = 'localstorage://my-model'
const saveResults = model.saveModel(path)
var loadedModel;
tf.loadModel(path).then((data) => {loadedModel = data})

loadedModel 现在是Tensorflow模型对象。但它现在与新创建的tf.sequential()完全相同。以下是console.log(loadedModel)提供的 loadedModel 的属性。可能是什么问题呢?我在Promises中相当新,所以问题可能就在那里,但是我已经在很长一段时间内进行了实验而没有取得任何进展。

我已检查 tf.io.listModels()以检查模型是否确实已保存且文件未损坏。

_addedWeightNames: Array []  
_built: false. 
_callHook: null. 
_losses: Array []. 
_nonTrainableWeights: Array []. 
_stateful: false. 
_trainableWeights:  Array []
_updatable: true
_updates: Array []
activityRegularizer: null
containerNodes: Set []
feedInputNames: Array []
feedInputShapes: Array []
feedOutputNames: Array []
id: 33
inboundNodes: Array [ {…}, {…} ]
initialWeights: null
inputLayers: Array []
inputLayersNodeIndices: Array []
inputLayersTensorIndices: Array []
inputNames: Array []
inputSpec: null
inputs: Array [ {…} ]
internalInputShapes: Array []
internalOutputShapes: Array []
layers: Array(6) [ {…}, {…}, {…}, … ]
layersByDepth: Object {  }
name: "sequential_5"
nodesByDepth: Object {  }
outboundNodes: Array []
outputLayers: Array []
outputLayersNodeIndices: Array []
outputLayersTensorIndices: Array []    
outputNames: Array []
outputs: Array [ {…} ]
supportsMasking: false
trainable: true

虽然console.log(模型)显示了这一点:

_addedWeightNames: Array []
_built: true
_callHook: null
_losses: Array []
_nonTrainableWeights: Array []
_stateful: false
_trainableWeights: Array []
_updatable: true
_updates: Array []
activityRegularizer: null
containerNodes: Set(7) [ "dense_Dense1_ib-0", "flatten_Flatten1_ib-0",     "max_pooling2d_MaxPooling2D2_ib-0", … ]
feedInputNames: Array []
feedInputShapes: Array []
feedOutputNames: Array []
id: 0
inboundNodes: Array [ {…}, {…} ]
initialWeights: null
inputLayers: Array [ {…} ]
inputLayersNodeIndices: Array [ 0 ]
inputLayersTensorIndices: Array [ 0 ]
inputNames: Array [ "conv2d_Conv2D1_input" ]
inputSpec: null
inputs: Array [ {…} ]
internalInputShapes: Array []
internalOutputShapes: Array []
layers: Array(6) [ {…}, {…}, {…}, … ]
layersByDepth: Object {  }
loss: "categoricalCrossentropy"
metrics: Array [ "accuracy" ]
metricsNames: Array [ "loss", "acc" ]
metricsTensors: Array [ (2) […] ]
model: Object { _stateful: false, id: 8, supportsMasking: false, … }
name: "sequential_1"
nodesByDepth: Object(7) [ (1) […], (1) […], (1) […], … ]
optimizer: Object { learningRate: 0.15, c: {…} }
outboundNodes: Array []
outputLayers: Array [ {…} ]
outputLayersNodeIndices: Array [ 0 ]
outputLayersTensorIndices: Array [ 0 ]
outputNames: Array [ "dense_Dense1" ]
​outputs: Array [ {…} ]
supportsMasking: false
trainable: true

0 个答案:

没有答案