gpt4 book ai didi

python - 为什么随着训练的进行,我的 tensorflow 代码运行速度越来越慢?

转载 作者:行者123 更新时间:2023-11-30 22:04:58 26 4
gpt4 key购买 nike

import tensorflow as tf

input_data = tf.constant([[1.,1.]])
output_data = tf.constant([[1.,0.]])
weight = tf.Variable([[1.,1.],
[1.,1.]])

sess = tf.Session()
sess.run(tf.global_variables_initializer())
optimizer = tf.train.GradientDescentOptimizer(0.1)

for epoch in range(1000):
y = tf.matmul(input_data, weight)
loss = (output_data[0][0] - y[0][0])**2 + (output_data[0][1] - y[0][1])**2
sess.run(optimizer.minimize(loss))
print(epoch)

随着纪元的推移,上面的程序变得越来越慢。我认为这是因为每个时期都会不断添加新节点。我该如何处理这个问题?

最佳答案

试试这个...

import time
import tensorflow as tf

input_data = tf.constant([[1.,1.]])
output_data = tf.constant([[1.,0.]])
weight = tf.Variable([[1.,1.],
[1.,1.]])

optimizer = tf.train.GradientDescentOptimizer(0.1)
y = tf.matmul(input_data, weight)
loss = (output_data[0][0] - y[0][0])**2 + (output_data[0][1] - y[0][1])**2
train = optimizer.minimize(loss)

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print('Initial weights: ', sess.run(weight))
for epoch in range(1000):
st = time.time()
sess.run(train)
print('Epoch %3d : %.3f ms' %(epoch, 1e3*(time.time()-st)))
print('Weights: ', sess.run(weight))

原始代码在每个时期重新创建图表。如果您这样做,图形仅创建一次,循环中唯一的工作是梯度计算/更新。

关于python - 为什么随着训练的进行,我的 tensorflow 代码运行速度越来越慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53137115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com