深度学习库 Neon DataIterator / ArrayIterator 初始化错误
Deep-learning library Neon DataIterator / ArrayIterator init error
当尝试按照 neon tutorial 中的说明设置 DataIterator 时。
from neon.data import DataIterator
import numpy as np
X = np.random.rand(10000, 3072)
y = np.random.randint(1, 11, 10000)
train = DataIterator(X=X, y=y, nclass=10, lshape=(3, 32, 32))
我遇到了一个奇怪的错误:
ERROR:neon.data.dataiterator:DataIterator class has been deprecated and renamed"ArrayIterator" please use that name.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "neon/data/dataiterator.py", line 168, in __init__
super(DataIterator, self).__init__(*args, **kwargs)
File "neon/data/dataiterator.py", line 82, in __init__
self.Xdev = [self.be.array(x) for x in X]
AttributeError: 'NoneType' object has no attribute 'array'
然后我尝试使用 ArrayIterator,保持 X、y 不变。
ArrayIterator(X=X, y=y, nclass=10, lshape=(3,32,32))
具有相同的 NoneType 错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "neon/data/dataiterator.py", line 82, in __init__
self.Xdev = [self.be.array(x) for x in X]
AttributeError: 'NoneType' object has no attribute 'array'
为什么会这样?有简单的解决方法吗?
通过生成 backend 解决了问题。
from neon.backends import gen_backend
be = gen_backend()
(...)
当尝试按照 neon tutorial 中的说明设置 DataIterator 时。
from neon.data import DataIterator
import numpy as np
X = np.random.rand(10000, 3072)
y = np.random.randint(1, 11, 10000)
train = DataIterator(X=X, y=y, nclass=10, lshape=(3, 32, 32))
我遇到了一个奇怪的错误:
ERROR:neon.data.dataiterator:DataIterator class has been deprecated and renamed"ArrayIterator" please use that name.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "neon/data/dataiterator.py", line 168, in __init__
super(DataIterator, self).__init__(*args, **kwargs)
File "neon/data/dataiterator.py", line 82, in __init__
self.Xdev = [self.be.array(x) for x in X]
AttributeError: 'NoneType' object has no attribute 'array'
然后我尝试使用 ArrayIterator,保持 X、y 不变。
ArrayIterator(X=X, y=y, nclass=10, lshape=(3,32,32))
具有相同的 NoneType 错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "neon/data/dataiterator.py", line 82, in __init__
self.Xdev = [self.be.array(x) for x in X]
AttributeError: 'NoneType' object has no attribute 'array'
为什么会这样?有简单的解决方法吗?
通过生成 backend 解决了问题。
from neon.backends import gen_backend
be = gen_backend()
(...)