问题描述:
【功能模块】
报错如下:
Traceback (most recent call last):
File "train.py", line 529, in <module>
train(train_paths, s3Client, trainlog, valid_paths)
File "train.py", line 406, in train
loss_value, _ = train_model(train_x, train_y)
File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/cell.py", line 404, in __call__
out = self.compile_and_run(*inputs)
File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/cell.py", line 682, in compile_and_run
self.compile(*inputs)
File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/cell.py", line 669, in compile
_cell_graph_executor.compile(self, *inputs, phase=self.phase, auto_parallel_mode=self._auto_parallel_mode)
File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/common/api.py", line 548, in compile
result = self._graph_executor.compile(obj, args_list, phase, use_vm, self.queue_name)
RuntimeError: mindspore/ccsrc/frontend/operator/composite/multitype_funcgraph.cc:161 GenerateFromTypes] The 'getitem' operation does not support the type [Func, Int64]
There are 12 prototypes for overload function `getitem`, corresponding location info:
1. [Tensor, List]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(228)
def _tensor_getitem_by_list(data, list_index):
2. [Tensor, kMetaTypeEllipsis]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(213)
def _tensor_getitem_by_ellipsis(data, _):
^
3. [Tensor, Tensor]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(198)
def _tensor_getitem_by_tensor(data, tensor_index):
4. [Tensor, kMetaTypeNone]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(168)
def _tensor_getitem_by_none(data, _):
^
5. [Tuple, Slice]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(92)
def _tuple_getitem_by_slice(data, slice_index):
^
6. [Tensor, Tuple]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(243)
def _tensor_getitem_by_tuple(data, tuple_index):
7. [Tuple, Number]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(77)
def _tuple_getitem_by_number(data, number_index):
^
8. [Tuple, Tensor]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(107)
def _tuple_getitem_by_tensor(data, tensor_index):
9. [Tensor, Slice]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(183)
def _tensor_getitem_by_slice(data, slice_index):
10. [List, Number]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(123)
def _list_getitem_by_number(data, number_index):
^
11. [Tensor, Number]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(153)
def _tensor_getitem_by_number(data, number_index):
12. [Dictionary, String]
In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/ops/composite/multitype_ops/getitem_impl.py(138)
def _dict_getitem_by_key(data, key):
^
The function call stack (See file '/mnt/dev/rank_0/om/analyze_fail.dat' for more details):
# 0 In file train.py(155)
loss = self.network(data, label)
^
# 1 In file train.py(131)
output = self.network(input_data)
^
# 2 In file /mnt/dev/src/nets/deeplab_v3/deeplab_v3.py(237)
out = self.backbone(x)
^
# 3 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(373)
for i in range(self.stage2_cfg['NUM_BRANCHES']):
^
# 4 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(374)
if self.transition1 is not None:
^
# 5 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(373)
for i in range(self.stage2_cfg['NUM_BRANCHES']):
^
# 6 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(374)
if self.transition1 is not None:
^
# 7 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(373)
for i in range(self.stage2_cfg['NUM_BRANCHES']):
^
# 8 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(381)
for i in range(self.stage3_cfg['NUM_BRANCHES']):
^
# 9 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(378)
y_list = self.stage2(x_list)
^
# 10 In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/layer/container.py(245)
for cell in self.cell_list:
# 11 In file /usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/layer/container.py(246)
input_data = cell(input_data)
^
# 12 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(207)
if self.num_branches == 1:
# 13 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(210)
for i in range(self.num_branches):
^
# 14 In file /mnt/dev/src/nets/deeplab_v3/hrnet.py(211)
x[i] = self.branches[i](x[i])
^
解答:
gititem 不支持 [Func, Int64],检查一下迭代的数据类型。