我有顺序数据,我宣布了一个LSTM模型,y用xKeras 预测.所以,如果我打电话model.predict(x1)和model.predict(x2),它是正确的调用model.reset_states两者之间predict()明确?是否model.reset_states清楚输入的历史,而不是权重,对吧?
# data1
x1 = [2,4,2,1,4]
y1 = [1,2,3,2,1]
# dat2
x2 = [5,3,2,4,5]
y2 = [5,3,2,3,2]
Run Code Online (Sandbox Code Playgroud)
在我的实际代码中,我使用model.evaluate().在evaluate()中,是否为每个数据样本隐式调用reset_states?
model.evaluate(dataX, dataY)
Run Code Online (Sandbox Code Playgroud) 我有一个包含模型规范和一些训练和评估模型的方法的课程。我想复制一个经过训练的对象,我尝试过copy.deepcopy()但没有成功。
下面的代码只是一个示例,但我希望它适用于使用以下相同想法的任何模型:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import argparse
import sys
import copy
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
FLAGS = None
class Model():
def __init__(self):
self.x = tf.placeholder(tf.float32, [None, 784])
self.W = tf.Variable(tf.zeros([784, 10]))
self.b = tf.Variable(tf.zeros([10]))
self.y = tf.matmul(self.x, self.W) + self.b
self.y_ = tf.placeholder(tf.float32, [None, 10])
self.cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=self.y_, logits=self.y))
self.train_step = tf.train.GradientDescentOptimizer(0.5).minimize(self.cross_entropy)
def train(self, mnist, sess):
for _ in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(self.train_step, …Run Code Online (Sandbox Code Playgroud)