Matlab LMDB文件及其在caffe深度学习网络中的应用
我对深度学习非常陌生,在使用caffe深度学习网络时遇到了一些问题。基本上,我没有找到任何文档来解释如何解决我目前正在处理的一系列问题 请让我先解释一下我的情况 我有成千上万的图像,我必须对它们进行一系列的预处理操作。对于每个预处理操作,我必须将这些预处理的图像保存为4D矩阵,并存储带有图像标签的向量。我将把这些信息存储为LMDB文件,作为caffe谷歌网深度学习的输入 我试图将我的图像保存为.HD5文件,但最终文件大小为80GB,用我现有的内存无法处理 所以,另一个选择是使用LMDB文件,对吗?我是这个文件格式的新手,非常感谢您帮助我理解如何在Matlab中创建它们。基本上,我的新手问题是: 1-这些LMDB文件的扩展名是.MDB,对吗?此扩展与microsoft access使用的相同吗?或者正确的格式是.lmdb,它们是不同的 2-我发现这个解决方案用于创建.mdb文件(),它是否创建了caffe所需的文件格式 3-对于caffe,我应该为标签创建一个.mdb文件,为图像创建另一个文件,还是两者都可以是同一个.mdb文件的字段 4-创建.mdb文件时,我必须标记数据库字段。我可以将一个字段标记为图像,另一个字段标记为标签吗?caffe了解哪个字段的意思吗Matlab LMDB文件及其在caffe深度学习网络中的应用,matlab,image-processing,computer-vision,deep-learning,caffe,Matlab,Image Processing,Computer Vision,Deep Learning,Caffe,我对深度学习非常陌生,在使用caffe深度学习网络时遇到了一些问题。基本上,我没有找到任何文档来解释如何解决我目前正在处理的一系列问题 请让我先解释一下我的情况 我有成千上万的图像,我必须对它们进行一系列的预处理操作。对于每个预处理操作,我必须将这些预处理的图像保存为4D矩阵,并存储带有图像标签的向量。我将把这些信息存储为LMDB文件,作为caffe谷歌网深度学习的输入 我试图将我的图像保存为.HD5文件,但最终文件大小为80GB,用我现有的内存无法处理 所以,另一个选择是使用LMDB文件,对吗
5-database.put('key1','value1')和database.put('key2','value2')中的函数做什么?我应该在一个字段中保存我的四维矩阵,在另一个字段中保存标签向量吗?Caffe不使用LevelDB-但是 您可以尝试使用MatlabLMDB包装器 我个人没有在Matlab中使用LMDB的经验,但是有一个很好的库可以从Python中实现这一点: LMDB数据库是一个键/值数据库(类似于Java中的HashMap或Python中的dict)。为了存储4D矩阵,您需要了解Caffe将图像保存为LMDB格式的惯例 这意味着,对于Caffe,将图像转换为LMDB的最佳方法是使用Caffe
关于如何将图像转换为LMDB-我会尝试重复它们,然后修改脚本以使用您的图像。LMDB文件和MS Access文件之间没有连接 在我看来,你有两个选择:
/path/to/filnename.png 23
如果您想在不将预处理文件保存到磁盘的情况下对数据进行一些预处理,您可以使用caffe提供的转换(镜像和裁剪)(参见此处了解信息)或实现自己的
DataTransformer
caffe可以同时使用LMDB或LevelDB感谢您的回答,现在我了解了caffe的文件格式。但我不想使用caffe方法来创建LMDB文件,因为我必须将图像存储在文件夹中。我将对245000张图像进行一系列预处理操作,并希望在googlenet deep network中对每一张图像进行测试。我最好的选择是不将预处理操作保存到磁盘,直接创建LMDB文件。非常感谢您的回答。但这两个答案对我帮助不大。我不想从目录中读取文件列表,因为我有250k个图像,将尝试对它们进行一系列预处理操作。我不想将它们保存在磁盘中,所以,我想在matlab中进行预处理操作,并将预处理的文件和标签直接保存为LMDB。有可能吗?你能帮我如何使用图像数据层吗?我必须在.prototxt文件中使用的语法是什么?我认为这对我来说是比较便宜的解决方案,因为很难生成我想要的mdb文件