CNTK:功能开始设置为 1 - UCIFastReader 的机制
CNTK: Start of features is set to 1 - mechanism of UCIFastReader
对于这个相当简单的问题,我们深表歉意,但是关于 Microsoft 的 OpenSource AI 库 CNTK 的使用的文档还太少。
我继续目睹人们将 reader 的特征开始设置为 1,同时将标签开始设置为 0。但是它们是否应该始终为 0,就像计算机科学中的信息总是从零点?这样岂不是丢失了一条信息?
CIFAR10 示例02_BatchNormConv
features=[
#dimension = 3 (rgb) * 32 (width) * 32(length)
dim=3072
start=1
]
labels=[
dim=1
start=0
labelDim=10
labelMappingFile=$DataDir$/labelsmap.txt
]
更新:新格式
Microsoft 最近对此进行了更新,以消除这些混淆并使 CNTK 定义语言更具可读性。
您现在不必在行内定义值的开头,只需在数据集本身中定义数据类型即可:
|labels <tab seperated values> | features <tab seperated values> [EndOfLine/EOL]
如果你想颠倒特征和标签的顺序,你可以简单地去:
|features <tab seperated values> | labels <tab seperated values> [EndOfLine/EOL]
您只需定义dim值,即可指定您要输入的值的数量。
注:行尾没有|。 EOL 表示行尾。
您误解了 reader 的工作原理。 UCIFastReader
适用于包含制表符分隔特征向量的文件。此文件中的每一行对应一个条目(在本例中为图像)及其分类。
因此,dim
告诉 reader 要读取多少列,而 start
告诉 reader 从哪一列开始读取。
因此,如果您有一张大小为 2x2 的图像,每个图像有 2 个标签,则您的文件的格式可能是 <image_pixel_columns><label_columns>
:
0 0 0 0 0 0
0 0 1 0 1 0
...
所以该行的前 4 个条目是您的特征(图像像素值),最后两个是您的标签。您的 reader 将采用以下形式:
reader=[
readerType=UCIFastReader
file=$DataDir$/Train.txt
randomize=None
features=[
dim=4
start=0
]
labels=[
dim=2
start=4
labelDim=10
labelMappingFile=$DataDir$/labelsmap.txt
]
]
只是给出的所有示例都将标签放在第一列。
对于这个相当简单的问题,我们深表歉意,但是关于 Microsoft 的 OpenSource AI 库 CNTK 的使用的文档还太少。
我继续目睹人们将 reader 的特征开始设置为 1,同时将标签开始设置为 0。但是它们是否应该始终为 0,就像计算机科学中的信息总是从零点?这样岂不是丢失了一条信息?
CIFAR10 示例02_BatchNormConv
features=[
#dimension = 3 (rgb) * 32 (width) * 32(length)
dim=3072
start=1
]
labels=[
dim=1
start=0
labelDim=10
labelMappingFile=$DataDir$/labelsmap.txt
]
更新:新格式
Microsoft 最近对此进行了更新,以消除这些混淆并使 CNTK 定义语言更具可读性。
您现在不必在行内定义值的开头,只需在数据集本身中定义数据类型即可:
|labels <tab seperated values> | features <tab seperated values> [EndOfLine/EOL]
如果你想颠倒特征和标签的顺序,你可以简单地去:
|features <tab seperated values> | labels <tab seperated values> [EndOfLine/EOL]
您只需定义dim值,即可指定您要输入的值的数量。
注:行尾没有|。 EOL 表示行尾。
您误解了 reader 的工作原理。 UCIFastReader
适用于包含制表符分隔特征向量的文件。此文件中的每一行对应一个条目(在本例中为图像)及其分类。
因此,dim
告诉 reader 要读取多少列,而 start
告诉 reader 从哪一列开始读取。
因此,如果您有一张大小为 2x2 的图像,每个图像有 2 个标签,则您的文件的格式可能是 <image_pixel_columns><label_columns>
:
0 0 0 0 0 0
0 0 1 0 1 0
...
所以该行的前 4 个条目是您的特征(图像像素值),最后两个是您的标签。您的 reader 将采用以下形式:
reader=[
readerType=UCIFastReader
file=$DataDir$/Train.txt
randomize=None
features=[
dim=4
start=0
]
labels=[
dim=2
start=4
labelDim=10
labelMappingFile=$DataDir$/labelsmap.txt
]
]
只是给出的所有示例都将标签放在第一列。