【发布时间】:2016-10-13 01:25:01
【问题描述】:
我是 tensorflow 的新手,我正在尝试在 CIFAR 10 数据集上进行训练。我注意到,根据我的 nvidia 控制面板,无论我使用什么批量大小,我都在使用 97% 的 gpu 内存。我尝试了从 100 到 2 的批量大小,在每种情况下,我的 gpu 内存使用率始终为 97%。为什么要这样做?
def batchGenerator(batch_size = 32):
bi = 0
random.shuffle(train_data)
while bi + batch_size < len(train_data):
x = np.zeros((batch_size, 32, 32, 3))
y = np.zeros((batch_size, 10))
for b in range(batch_size):
x[b] = train_data[bi + b][0]
if random.choice((True, False)):
img = cv2.flip(x[b], 0)
if random.choice((True, False)):
img = cv2.flip(x[b], 1)
y[b][train_data[bi + b][1]] = 1
bi += batch_size
yield(x, y)
with tf.Session() as s:
s.run(tf.initialize_all_variables())
for epoch in range(100):
a = 0.0
i = 0
for x_train, y_train in batchGenerator(2):
outs = s.run([opt, accuracy], feed_dict = {x: x_train, y_exp: y_train, p_keep: 0.5})
a += outs[-1]
i += 1
print('Epoch', epoch, 'Accuracy', a / i)
【问题讨论】:
标签: tensorflow