Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I use caffe tool ‘convert_imageset' to transform my image data to lmdb,there were noting wrong on the terminal log,but the file of lmdb is 0 #5752

Closed
ltaoj opened this issue Jul 7, 2017 · 6 comments

Comments

@ltaoj
Copy link

ltaoj commented Jul 7, 2017

this is my create_imagenet.sh, but the imagenet1907_train_lmdb &
imagenet1907_val_lmdb file size are zero. why?

#!/usr/bin/env sh
# 
# All modification made by Intel Corporation: © 2016 Intel Corporation
# 
# All contributions by the University of California:
# Copyright (c) 2014, 2015, The Regents of the University of California (Regents)
# All rights reserved.
# 
# All other contributions:
# Copyright (c) 2014, 2015, the respective contributors
# All rights reserved.
# For the list of contributors go to https://github.com/BVLC/caffe/blob/master/CONTRIBUTORS.md
# 
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 
#     * Redistributions of source code must retain the above copyright notice,
#       this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of Intel Corporation nor the names of its contributors
#       may be used to endorse or promote products derived from this software
#       without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Create the imagenet lmdb inputs
# N.B. set the path to the imagenet train + val data dirs
set -e

EXAMPLE=examples/imagenet1907
DATA=data/imagenet1907
TOOLS=build/tools

TRAIN_DATA_ROOT=/usr/local/caffe/data/imagenet1907/train/
VAL_DATA_ROOT=/usr/local/caffe/data/imagenet1907/val/

# Set RESIZE=true to resize the images to 256x256. Leave as false if images have
# already been resized using another tool.
RESIZE=true
if $RESIZE; then
  RESIZE_HEIGHT=128
  RESIZE_WIDTH=128
else
  RESIZE_HEIGHT=0
  RESIZE_WIDTH=0
fi

# Set ENCODE=true to encode the images as compressed JPEGs stored in the LMDB.
# Leave as false for uncompressed (raw) images.
ENCODE=true
if $ENCODE; then
  ENCODE_FLAG='--encoded=true'
  ENCODE_TYPE_FLAG='--encode_type=jpg'
else
  ENCODE_FLAG='--encoded=false'
  ENCODE_TYPE_FLAG=''
fi

if [ ! -d "$TRAIN_DATA_ROOT" ]; then
  echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"
  echo "Set the TRAIN_DATA_ROOT variable in create_imagenet.sh to the path" \
       "where the ImageNet training data is stored."
  exit 1
fi

if [ ! -d "$VAL_DATA_ROOT" ]; then
  echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"
  echo "Set the VAL_DATA_ROOT variable in create_imagenet.sh to the path" \
       "where the ImageNet validation data is stored."
  exit 1
fi

echo "Creating train lmdb..."

rm -rf $EXAMPLE/imagenet1907_train_lmdb
rm -rf $EXAMPLE/imagenet1907_val_lmdb

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    $ENCODE_FLAG \
    $ENCODE_TYPE_FLAG \
    --shuffle \
    $TRAIN_DATA_ROOT \
    $DATA/train.txt \
    $EXAMPLE/imagenet1907_train_lmdb

echo "Creating val lmdb..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    $ENCODE_FLAG \
    $ENCODE_TYPE_FLAG \
    --shuffle \
    $VAL_DATA_ROOT \
    $DATA/val.txt \
    $EXAMPLE/imagenet1907_val_lmdb

echo "Done."
@deepali-c
Copy link

Could you please post the output of this script.
Please also check if train.txt and val.txt are available under - data/imagenet1907.

@ltaoj
Copy link
Author

ltaoj commented Jul 13, 2017

@deepali-c This is the output of this script,the size of the file imagenet1907_train_lmdb and imagenet1907_val_lmdb is 0,but the train_mean.binaryproto and val_mean.binaryproto has a size of 192kb.train.txt and val.txt are available under - data/imagenet1907.Besides, I can run the caffemodel to predict normally.

Creating train lmdb...
I0713 20:18:57.514729 17285 convert_imageset.cpp:123] Shuffling data
I0713 20:18:57.516625 17285 convert_imageset.cpp:126] A total of 1707 images.
I0713 20:18:57.518802 17285 db_lmdb.cpp:72] Opened lmdb examples/imagenet1907/imagenet1907_train_lmdb
I0713 20:19:25.354818 17285 convert_imageset.cpp:184] Processed 1000 files.
I0713 20:19:42.839772 17285 convert_imageset.cpp:190] Processed 1707 files.
Creating val lmdb...
I0713 20:19:43.141077 17288 convert_imageset.cpp:123] Shuffling data
I0713 20:19:43.141448 17288 convert_imageset.cpp:126] A total of 200 images.
I0713 20:19:43.143028 17288 db_lmdb.cpp:72] Opened lmdb examples/imagenet1907/imagenet1907_val_lmdb
I0713 20:19:47.528590 17288 convert_imageset.cpp:190] Processed 200 files.
Compute train mean...
Compute val mean...
Done.

@deepali-c
Copy link

Your script works fine at my end.

ls -l examples/imagenet1907/imagenet1907_train_lmdb
total 61832
-rw-rw-r-- 1 <username> <username> 63307776 Jul 13 07:54 data.mdb
-rw-rw-r-- 1  <username> <username> 8192 Jul 13 07:54 lock.mdb

@ltaoj
Copy link
Author

ltaoj commented Jul 13, 2017

@deepali-c OK, thank you very much! sudo ls -l imagenet1907_train_lmdb works well on my end, too.It seems that my os has problem.
总用量 21188
-rw-r--r-- 1 21688320 7月 13 20:31 data.mdb
-rw-r--r-- 1 8192 7月 13 20:31 lock.mdb

@unnuli
Copy link

unnuli commented Oct 12, 2017

Hello, I met the same problem with you. It works well with the command 'ls -l' too.
could you please tell me how you solve the problem in the end?

@shaibagon
Copy link
Member

Please use the caffe-users list for usage, installation, or modeling questions, or other requests for help.
You may also post questions on stackoverflow, make sure you tag them with caffe tag.
There is also caffe.help documenting the different layers of caffe.
Do not post such requests to Issues. Doing so interferes with the development of Caffe.

Please read the guidelines for contributing before submitting this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants