caffe 中的数据对象 - 无监督网络

Datum object in caffe - unsupervised networks

从为 caffe 网络准备数据的脚本中,以下代码将图像(表示图像的 numpy 数组)转换为数据对象。

datum = caffe_pb2.Datum(
        channels=3,
        width=224,
        height=224,
        label=label,
        data=np.rollaxis(img, 2).tostring())

如果网络是无监督的,你是不是只用同样的方法创建对象而不填写label参数,如下图?

datum = caffe_pb2.Datum(
            channels=3,
            width=224,
            height=224,
            data=np.rollaxis(img, 2).tostring())

Datumlabeloptional:

optional int32 label = 5;

意思是oyu不必提供。

旁注:
Datum 是主要用于 "Data" 输入层的数据结构,严格来说它不是训练网络的一部分。
Caffe 使用 N 维张量 Blobs 来存储网络的数据和参数。