如何在MinibatchSource中获取每个流的名称?
我可以获取与stream_infos返回的流信息相关联的名称吗?
minibatch_source.stream_infos()
我还有一个后续问题:
结果来自: 打印(reader_train.streams.keys()) 是 dict_keys(['labels','features'
这些名称如何与MiniBatchSource的构造相关,就像这样做?
return MinibatchSource(ImageDeserializer(map_file, StreamDefs(
features = StreamDef(field='image', transforms=transforms), # first column in map file is referred to as 'image'
labels = StreamDef(field='label', shape=num_classes) # and second as 'label'
)))
我原以为我的流会被命名为'image'和'label',但它们被命名为'labels'和'features'。
我猜这些名字是某种默认名称?
答案 0 :(得分:1)
原始问题:
minibatch_source.streams.keys()
例如,参见{#3}}部分"简要介绍数据和数据阅读"。
对于您的后续问题:keys()
返回的名称是StreamDefs()
的参数。这就是您在程序中所需要的一切。如果您定义MinibatchSource
这样的
return MinibatchSource(ImageDeserializer(map_file, StreamDefs(
image = StreamDef(field='image', transforms=transforms), # first column in map file is referred to as 'image'
label = StreamDef(field='label', shape=num_classes) # and second as 'label')))
然后名称将匹配。您可以选择所需的任何名称,但field
内StreamDef()
的值应与源匹配(这取决于您输入的数据和您正在使用的反序列化器)。