我正在尝试将图像数据集转换为LMDB格式以供Caffe使用,我需要调用convert_imageset函数来从Matlab内部应用此转换。
我正在使用Linux,并且我已经创建了一个shell(.sh)脚本,其中包含运行转换所需的参数。以下是我的shell文件的示例:
GLOG_logtostderr=1 /usr/local/caffe-master2/build/tools/convert_imageset -resize_height=256 -resize_width=256 images_folder data_split/train.txt data_split/dataCNN_train_lmdb
当我只是从终端运行我的脚本时:
./example_shell.sh
它没有任何问题。
但是当我尝试使用system()
函数从Matlab执行此操作时:
system('./example_shell.sh')
似乎无法打开/查找我的文件,在train.txt中为每个图像上升了以下错误:
I0917 18:15:13.637830 8605 convert_imageset.cpp:82] A total of 68175 images.
I0917 18:15:13.638947 8605 db.cpp:34] Opened lmdb data_split/dataCNN_train_lmdb
E0917 18:15:13.639143 8605 io.cpp:77] Could not open or find file ...
E0917 18:15:13.639143 8605 io.cpp:77] Could not open or find file ...
E0917 18:15:13.639143 8605 io.cpp:77] Could not open or find file ...
以下是来自train.txt文件的一些示例行(不介意0,它们只是虚拟标签):
/media/user/HDD_2TB/Food_101_Dataset/images/beef_carpaccio/970563.jpg 0
/media/user/HDD_2TB/Food_101_Dataset/images/chocolate_mousse/1908117.jpg 0
/media/user/HDD_2TB/Food_101_Dataset/images/cup_cakes/632892.jpg 0
/media/user/HDD_2TB/Food_101_Dataset/images/garlic_bread/1498092.jpg 0
/media/user/HDD_2TB/Food_101_Dataset/images/ceviche/3115634.jpg 0
它们是绝对路径,因此应该没有问题。
任何关于可能发生的事情的想法对我都非常有帮助!
谢谢,
马克
答案 0 :(得分:0)
我无法使用Matlab解决具体问题,但我已设法通过使用.txt文件进行通信来执行以下(奇怪的)解决方法:
./example_shell.sh
脚本。 ./example_shell.sh
。