我正在将CNTK的培训和评估配置从Brainscript迁移到Python。因为我们的训练数据是在map / reduce框架中创建的,所以我将图像和标签存储在一个巨大的文本文件中,该文件包含base64编码图像作为其列之一。这一切都运行良好,但我还没有找到一种在Python中做等效的方法。
我的CNTK.exe配置类似于this example configuration:
deserializers = ({
type = "Base64ImageDeserializer" ; module = "ImageReader"
file = "myFile.tsv"
...
所有Python示例(例如this one)都使用ImageDeserializer
,它从作为单个文件的图像中读取。我没有在cntk.io
的Python代码中找到任何听起来像base64图像反序列化器的东西。
如何通过Python在CNTK中使用base64编码图像?
相关问题:Brainscript Base64ImageDeserializer
接受第一列中包含序列ID的文件,这对于我们在测试时识别各个示例至关重要。我怎样才能在Python中使用它?
答案 0 :(得分:1)
对Python的Base64反序列化器支持已合并到master。有关样本用法,请参阅/bindings/python/cntk/io/tests/io_tests.py test_base64_image_deserializer。
关于获取标签 - 目前没有简单的方法,你可以编写包含id的CNTKTextFormat。但这很麻烦,我们正在讨论使这更容易。