代码之家  ›  专栏  ›  技术社区  ›  ArnJac

AttributeError在CPU上使用theano后端时

  •  0
  • ArnJac  · 技术社区  · 6 年前

    我想跑 this python笔记本,其中使用Keras实现了著名的卷积神经网络。作者使用theano作为后端,并使用他的cpu设备。因为CUDA不支持我的CPU(需要使用它),所以我将尝试使用我的gpu(首先)。 我安装了keras和theano以及以下所需要求 this 链接我跳过了gpu配置,因为我想使用我的gpu。

    要使用我的GPU,我更改了第一行中的设备标志,结果如下:

    #%matplotlib inline
    import numpy as np
    import pandas as pd
    
    import sys
    
    from skimage.io import imread
    from matplotlib import pyplot as plt
    
    import os
    os.environ['KERAS_BACKEND'] = 'theano'
    os.environ['THEANO_FLAGS'] = 'mode=FAST_RUN, device=cpu, floatX=float32, optimizer=fast_compile'
    
    from keras import models
    from keras.optimizers import SGD
    

    这给了我一个错误:

    AttributeError: ('This name is already taken', 'floatX')
    

    我找到了解决方案,但主要针对GPU用户。我也读过 somewhere 我必须删除$HOME/。theanorc文件,但我找不到此文件。

    谁能解释一下是什么导致了这个错误以及如何解决这个问题?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Dinesh    6 年前

    它说的原因 "AttributeError: ('This name is already taken', 'floatX')" 很可能是因为 floatX 已在中定义 .theanorc.txt 文件

    您可以删除 "floatX=float32, " 从…起

    os.environ['THEANO_FLAGS'] = 'mode=FAST_RUN, device=cpu, floatX=float32, optimizer=fast_compile'
    

    并对类似的其他属性重复相同的操作。

    更好的选择是:运行python并键入,

    import os 
    print(os.path.expanduser('~/.theanorc.txt'))
    

    它会显示在哪里 。THANORC公司。txt文件 文件位于windows中