如何解决有什么办法可以在Python中使用循环来加快tf.session.run?
我遇到一个问题,即逐渐降低Tensorflow会话的速度。在for循环中运行。示例代码如下。
with tf.compat.v1.Session() as sess:
sess.run(init)
for n_epoch in range(1,max_epoch + 1):
n_incr_error += 1
train_loss = 0.
train_err = 0.
itra = 0
for batch_train_data in next_batch(train_data,batch_size): # here the batch size is 1,mean no batched input
model_temp = []
sess.run(self.optimizer,feed_dict={Traindata})
train_batch_loss,train_batch_err = sess.run([self.cost,self.err],feed_dict={traindata})
train_loss += train_batch_loss
train_err += train_batch_err
for tr_v in tf.compat.v1.trainable_variables():
model_temp.append(sess.run(tr_v))
rnd = np.unique(np.random.randint(1,L1_size,10))
tvars1 = [v for v in tf.trainable_variables() if v.name == "L1_w:0"]
tvars_vals1 = sess.run(tvars1)
tvars_vals1[0][:,:,rnd] = model_temp[0][:,rnd]*some_value
sess.run(tvars1[0].assign(tvars_vals1[0]))
通过多次实验,我发现sess.run(tvars1[0].assign(tvars_vals1[0]))
随着迭代的进行逐渐变慢。
有什么补救办法吗?任何帮助都将受到高度赞赏
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。