Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow CPU内存问题(分配超过系统内存的10%)_Python_Tensorflow_Memory_Keras_Cpu - Fatal编程技术网

Python Tensorflow CPU内存问题(分配超过系统内存的10%)

Python Tensorflow CPU内存问题(分配超过系统内存的10%),python,tensorflow,memory,keras,cpu,Python,Tensorflow,Memory,Keras,Cpu,我使用Keras/Tensorflow在python中创建了一个程序。我在创建数据和培训方面没有任何问题。但是,当我想评估我的模型时,我有以下错误: Using TensorFlow backend. WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4213: sparse_to_dense (from tensorflow.python.ops.

我使用Keras/Tensorflow在python中创建了一个程序。我在创建数据和培训方面没有任何问题。但是,当我想评估我的模型时,我有以下错误:

Using TensorFlow backend.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4213: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
2018-12-05 19:20:44.932780: W tensorflow/core/framework/allocator.cc:122] Allocation of 3359939800 exceeds 10% of system memory.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Abandon (core dumped)

这似乎是一个内存分配问题。我缩小了模型的尺寸,缩小了所有参数,但没有任何变化。我不知道如何解决这个问题

根据我的经验,此类问题的一个常见原因是,我们在培训中使用了合理的批处理大小,但在评估时尝试使用更大的批处理大小(通常是整个数据集)

我发现自己做这类事情是错误的:

model.fit(x\u系列,y\u系列,历次=5,批量=10)
模型评估(x_检验,y_检验)
鉴于我们确实需要这样做:

model.fit(x_train, y_train, epochs=5, batch_size=10) model.evaluate(x_test, y_test, batch_size=10) 模型拟合(x_序列,y_序列,历元数=5,批量大小=10) 模型评估(x检验,y检验,批量=10) 另见: