将 theano 后端与 CPU 一起使用时出现 AttributeError

AttributeError when using theano backend with CPU

我正在尝试 运行 this python 笔记本,其中使用 Keras 实现了众所周知的卷积神经网络。作者使用 theano 作为后端并使用他的 cpu 设备。因为我的 CPU 不受 CUDA 支持(需要使用它),所以我将尝试使用我的 gpu(首先)。 我按照 this link 安装了 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 文件,但是我找不到这个文件。

任何人都可以阐明导致此错误的原因以及解决方法吗?

它说的原因 "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'))

它将显示 .theanorc.txt 文件在 windows

中的位置