mindspore关于数据迭代器create_dict_iterator
由于网络比较大,我在用迭代器测试的时候,发现迭代器在送入一个batch后,并没有停止迭代而是继续迭代。第一个batch经过网络的输出在多次迭代后才显示输出。对于mindspore的数据迭代器,在迭代了一个batch之后,是会停止迭代并在数据进入网络并输出后再进行迭代的吗?还是一边迭代一边输入数据给网络?建议将print函数的flus参数设置为True试下。数据迭代是串行的,输出一个数据,在输入给网
·
# 训练项目
dataset0 = Dataset(train_split, 'training', root, mode)
dataloader = ds.GeneratorDataset(dataset0, column_names=['imgs', 'label'], shuffle=True)
dataset1 = dataloader.batch(batch_size=batch_size)
# 测试项目
val_dataset0 = Dataset(train_split, 'testing', root, mode)
val_dataloader = ds.GeneratorDataset(val_dataset0, column_names=['imgs', 'label'], shuffle=True)
val_dataset1 = val_dataloader.batch(batch_size=batch_size)
net = InceptionI3d(num_classes=400, in_channels=3, keep_prob=0.5)
net.replace_logits(157)
for data in dataset1.create_dict_iterator():
x = data['imgs']
print(x.shape)
imgs = net(x)
print(imgs.shape)
对于mindspore的数据迭代器,在迭代了一个batch之后,是会停止迭代并在数据进入网络并输出后再进行迭代的吗?还是一边迭代一边输入数据给网络?
由于网络比较大,我在用迭代器测试的时候,发现迭代器在送入一个batch后,并没有停止迭代而是继续迭代。第一个batch经过网络的输出在多次迭代后才显示输出
请问这是正常的吗?
数据迭代是串行的,输出一个数据,在输入给网络。
建议将print函数的flus参数设置为True试下。
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐


所有评论(0)