我正在尝试让这个git代表中的代码正常工作:https://github.com/cvikasreddy/skt训练数据是一个7mb的文本文件。我有一台Nvidia GTX 750ti,内存为1 1gb。当我尝试在这台机器上训练时,训练器因为内存不足而崩溃(根据错误消息,模型大小为2.5 on )。当然,我理解这些不能放入1 1gb的显存中。默认设置为:
num_layers = 3 # Number of layers of RNN
num_hidden = 128 # Hidden size of RNN cell
batch_size = 128 # Number of sentences in a batch
seq_length = 35 # Length of sequence我已经尝试将它们更改为:
num_layers = 3 # Number of layers of RNN
num_hidden = 128 # Hidden size of RNN cell
batch_size = 1 # Number of sentences in a batch
seq_length = 35 # Length of sequence我也尝试过更改seq_length,但同样不起作用。你有什么建议来解决这个问题?当然,购买一个更大的图形单元是可行的。但我想知道代码本身是否可以做到这一点。也许拆分输入数据?计算机本身有16 OK的内存,这应该是可以的。
发布于 2018-02-16 22:51:25
您可以在CPU上运行所有内容,方法是添加
with tf.device('/cpu:0'):并在定义图形之前进行正确的缩进。它会更慢,但你应该有足够的内存。你也可以把你的大部分运算放在CPU上,然后选择一些放在GPU上。你会找到一些关于那个here的帮助。
您也可以减小网络大小(num_hidden和num_layers),但性能会降低。如果RNN操作是在64位中完成的,也许你可以改为32位,我不知道这是否可能。
https://stackoverflow.com/questions/48828962
复制相似问题