2
При попытке настроить DataIterator, как описано в разделе neon tutorial.Библиотека Deep-learning Neon DataIterator/Ошибка инициализации ArrayIterator
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, у того же.
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'
Почему это так? Есть ли легкое решение?
Что вы делаете с "be"? если вы вызываете gen_backend(), это neon, а затем устанавливаете глобальное значение и передаете ли вы 'be' чем-то вроде' ArrayIterator'? –
Neon задает глобальную переменную «be». Neon использует это для выполнения каждого вычисления и распределения памяти. Уровень абстракции оборудования, который позволяет легко переключаться между, например, cpu и gpu. –