使用的是自定义数据集
操作系统是win10,CPU训练,mindspore版本号2.2.10,python版本是3.9.13
####################################################################################################################
报错内容:
[ERROR] MD(,3934,?):2024-4-20 10:13:39 [mindspore\ccsrc\minddata\dataset\engine\ir\datasetops\source\generator_node.cc:113] mindspore::dataset::GeneratorNode::ValidateParams] GeneratorNode: data row of input source must not be 0, got: 0Traceback (most recent call last):
File "e:\design\design.py", line 202, in <module>
model.train(batch_size,train_dataset)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\train\model.py", line 1054, in train
dataset_size = train_dataset.get_dataset_size()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 1815, in get_dataset_size
runtime_getter = self.__init_size_getter()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 1677, in __init_size_getter
ir_tree, api_tree = self.create_ir_tree()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 406, in create_ir_tree
ir_tree = dataset.parse_tree(getter_mode)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 428, in parse_tree
ir_node = self.parse(ir_children)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets_user_defined.py", line 871, in parse
return cde.GeneratorNode(self.prepared_source, self.column_names, self.column_types, self.source_len,
RuntimeError: Syntax error.
------------------------------------------------------------------
- Dataset Pipeline Error Message:
------------------------------------------------------------------
[ERROR] GeneratorNode: data row of input source must not be 0, got: 0.
------------------------------------------------------------------
- C++ Call Stack: (For framework developers)
------------------------------------------------------------------
mindspore\ccsrc\minddata\dataset\engine\ir\datasetops\source\generator_node.cc(113).
############################################################################################################
############################################################################################################
代码段(ps.像是自定义数据集的时候出现的问题)
class Mydataset():
def __init__(self,path):
self.path=path
self._index=0
self.data=[]
self.label=[]
self._load()
def _load(self):
for dirpath,dirnames,filenames in os.walk(top=self.path):
for i in range(0,65):
new_path=dirpath+'/'+dirnames[i]
print(new_path)
for _1,_2,need_pic in os.walk(top=new_path):
for names in need_pic:
self.label.append(dirnames[i])#加入标签
img=Image.open(new_path+'/'+names)
img=np.array(img)
self.data.append(img)
break
break
def __next__(self):
if self._index >= len(self.data):
raise StopIteration
else:
item = (self.data[self._index], self.label[self._index])
self._index += 1
return item
def __iter__(self):
self._index = 0
return self
def __len__(self):
#print(len(self.data))
return len(self.data)
#######################################################################################################################
希望大佬帮助!
使用的是自定义数据集
操作系统是win10,CPU训练,mindspore版本号2.2.10,python版本是3.9.13
####################################################################################################################
报错内容:
[ERROR] MD(,3934,?):2024-4-20 10:13:39 [mindspore\ccsrc\minddata\dataset\engine\ir\datasetops\source\generator_node.cc:113] mindspore::dataset::GeneratorNode::ValidateParams] GeneratorNode: data row of input source must not be 0, got: 0Traceback (most recent call last):
File "e:\design\design.py", line 202, in <module>
model.train(batch_size,train_dataset)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\train\model.py", line 1054, in train
dataset_size = train_dataset.get_dataset_size()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 1815, in get_dataset_size
runtime_getter = self.__init_size_getter()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 1677, in __init_size_getter
ir_tree, api_tree = self.create_ir_tree()
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 406, in create_ir_tree
ir_tree = dataset.parse_tree(getter_mode)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets.py",
line 428, in parse_tree
ir_node = self.parse(ir_children)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\mindspore\dataset\engine\datasets_user_defined.py", line 871, in parse
return cde.GeneratorNode(self.prepared_source, self.column_names, self.column_types, self.source_len,
RuntimeError: Syntax error.
------------------------------------------------------------------
- Dataset Pipeline Error Message:
------------------------------------------------------------------
[ERROR] GeneratorNode: data row of input source must not be 0, got: 0.
------------------------------------------------------------------
- C++ Call Stack: (For framework developers)
------------------------------------------------------------------
mindspore\ccsrc\minddata\dataset\engine\ir\datasetops\source\generator_node.cc(113).
############################################################################################################
############################################################################################################
代码段(ps.像是自定义数据集的时候出现的问题)
class Mydataset():
def __init__(self,path):
self.path=path
self._index=0
self.data=[]
self.label=[]
self._load()
def _load(self):
for dirpath,dirnames,filenames in os.walk(top=self.path):
for i in range(0,65):
new_path=dirpath+'/'+dirnames[i]
print(new_path)
for _1,_2,need_pic in os.walk(top=new_path):
for names in need_pic:
self.label.append(dirnames[i])#加入标签
img=Image.open(new_path+'/'+names)
img=np.array(img)
self.data.append(img)
break
break
def __next__(self):
if self._index >= len(self.data):
raise StopIteration
else:
item = (self.data[self._index], self.label[self._index])
self._index += 1
return item
def __iter__(self):
self._index = 0
return self
def __len__(self):
#print(len(self.data))
return len(self.data)
#######################################################################################################################
希望大佬帮助!