与CPU一起使用theano后端时的AttributeError

时间:2018-03-05 14:28:34

标签: python keras theano conv-neural-network

我正在尝试运行this python notebook,其中使用Keras实现了一个众所周知的卷积神经网络。作者使用theano作为后端并使用他的cpu设备。因为我的CPU不支持CUDA(需要使用它),我将尝试使用我的gpu(开头)。 我在this链接后安装了keras和theano以及所需的要求。我跳过了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 个答案:

答案 0 :(得分:0)

它说"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和type,

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

它将显示.theanorc.txt文件在Windows中的位置