【问题标题】:Storing multiple fields in lmdb for use with caffe在 lmdb 中存储多个字段以供 caffe 使用
【发布时间】:2017-12-11 16:49:24
【问题描述】:

我正在为一个咖啡网构建一个 lmdb 数据库,它存储各种图像,如下所示:

txn.put('{:0>10d}'.format(dbCtr),currImageDatum.SerializeToString())

我将两个字符串存储为键值对。但是,我还想存储一些元数据。具体来说,我想存储图像来自的文件的名称。我的理解是value 必须是单个字符串,而不是像[currImageDatum.SerializeToString(), 'myImage.jpg'] 这样的东西。

所以,我能想到的唯一方法是:

txn.put('{:0>10d}'.format(dbCtr),currImageDatum.SerializeToString() + '__MY_META_DATA__' + 'myImage.jpg')

然后,在读取 lmdb 时,将值字符串拆分为 '__MY_META_DATA__' 之前的部分和之后的部分。

这是一个合理的方法吗?还有其他标准方法吗?

【问题讨论】:

    标签: caffe pycaffe lmdb


    【解决方案1】:

    AFAIK caffe 的 "Data" 层从 lmdb 读取 Datum 的方式非常严格,您不能轻易更改它。
    如果您正在考虑 lmdb 的替代品,请查看更灵活的 "HDF5Data" 层。

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 2016-02-11
      • 2018-01-07
      • 2016-09-23
      • 2016-01-12
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多