微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我从 tf.keras.models 导入 Sequential 时出现 MemoryError

如何解决当我从 tf.keras.models 导入 Sequential 时出现 MemoryError

正在进行机器学习算法基准测试,以比较 GPU、cpucpu 多核等的执行速度。在我的测试中,我需要为 ram 设置内存限制。

问题是当我从 tensorflow.keras 导入一些东西时程序会立即崩溃

if os.name == 'posix':
    import resource
    def memory_limit():
        soft,hard = resource.getrlimit(resource.RLIMIT_AS)
        resource.setrlimit(resource.RLIMIT_AS,(4096,hard))
    
    memory_limit()

print("ONE")
from tensorflow.keras.models import Sequential
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.layers import Conv2D,MaxPooling2D,ZeroPadding2D,GlobalAveragePooling2D,Flatten,Activation,Dense,Dropout
from tensorflow.keras.layers import Batchnormalization
from tensorflow.keras.datasets import mnist     # MNIST dataset is included in Keras
from tensorflow.keras import utils as np_utils                       # NumPy related tools
print("TWO")

显示print("ONE")不显示第二个打印,错误是:

One
Traceback (most recent call last):
  File "ml_multi_cpu.py",line 18,in <module>
    from tensorflow.keras.models import Sequential
  File "/usr/local/lib/python3.6/site-packages/tensorflow/__init__.py",line 34,in <module>
    import inspect as _inspect
  File "<frozen importlib._bootstrap>",line 971,in _find_and_load
  File "<frozen importlib._bootstrap>",line 955,in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>",line 665,in _load_unlocked
  File "<frozen importlib._bootstrap_external>",line 674,in exec_module
  File "<frozen importlib._bootstrap_external>",line 764,in get_code
  File "<frozen importlib._bootstrap_external>",line 833,in get_data
MemoryError

产生错误的确切行是:

        resource.setrlimit(resource.RLIMIT_AS,hard))

当我评论这一行时,程序运行良好,但我需要设置这个限制。我注意到 getrlimit 返回一个带有软和硬值的元组 (-1,-1)

另外,是否有可能,如果有,如何在 GPU 上应用 memory_limit?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?