TensorFlowJS-Model

模型用来描述Layer之间的拓扑逻辑关系,即一个Layer的输出,以何种形式作为下一个Layer的输入。模型可以被用来训练和预测。模型的状态(包括拓扑逻辑,训练得到的权重)可以从其他的格式里面恢复过来。

有两种创建模型的方式: tf.sequential和tf.model。

tf.sequential

简单的类似栈一样的关系。就是每一层的输入,依赖于上一层的输出(我理解的是:一层的某个Tensor的输出的数目,等于下一层的所有的Tensor的数目,并且每个输出对应下一层的一个Tensor的输入)。

图片引用自:https://medium.freecodecamp.org/get-to-know-tensorflow-js-in-7-minutes-afcd0dfd3d2f

使用tf.sequential();来创建:

	function createDenseModel() {
	  const model = tf.sequential();
	  model.add(tf.layers.flatten({inputShape: [IMAGE_H, IMAGE_W, 1]}));
	  model.add(tf.layers.dense({units: 42, activation: 'relu'}));
	  model.add(tf.layers.dense({units: 10, activation: 'softmax'}));
	  return model;
	}

tf.model

如果Layer之间不是前面标准的栈式结构,譬如一个Layer的某个Tensor的所有输出,并没有全部交给下面的所有Tensor,这个时候就需要考虑用这个方法创建模型了。

	// Create the model based on the inputs.
	const model = tf.model({
	    inputs: input,
	    outputs: [denseOutput, activationOutput]
	});

当然,还可以直接从保存的参数里面加载模型:

tf.loadModel(MOBILENET_MODEL_PATH);

参考文献:
https://js.tensorflow.org/api/0.6.1/#sequential
https://medium.freecodecamp.org/get-to-know-tensorflow-js-in-7-minutes-afcd0dfd3d2f

你可能感兴趣的:(TensorFlowJS)