Reputation: 10139
Im trying to train a caffe Model.I get this error
I0806 09:41:02.010442 2992 sgd_solver.cpp:105] Iteration 360, lr = 9.76e- 05
F0806 09:41:20.544955 2998
data_transformer.cpp:168] Check failed: height<=datum_height (224 vs. 199)
*** Check failure stack trace: ***
@ 0x7f82b051edaa (unknown)
@ 0x7f82b051ece4 (unknown)
@ 0x7f82b051e6e6 (unknown)
@ 0x7f82b0521687 (unknown)
@ 0x7f82b0b8e9e0 caffe::DataTransformer<>::Transform()
@ 0x7f82b0c09a2f caffe::DataLayer<>::load_batch()
@ 0x7f82b0c9aa5
caffe::BasePrefetchingDataLayer<>::InternalThreadEntry()
@ 0x7f82b0b6ea30 caffe::InternalThread::entry()
@ 0x7f82b0b6f376 boost::detail::thread_data<>::run()
@ 0x7f82a6afea4a (unknown)
@ 0x7f82a1147184 start_thread
@ 0x7f82aee51ffd (unknown)
@ (nil) (unknown)
Aborted (core dumped)
I was getting a similar error but Check failed: height<=datum_height (227 vs. 224)
.I then changed 227 to 224 ,but now i get this.Any suggestions?
EDIT:My code for LMDB-
EXAMPLE=/home/hyperworks/colorfile/ # Path where the output LMDB is stored
DATA=/home/hyperworks/colorfile/ # Path where the data.txt file is present
TOOLS=/home/hyperworks/caffe/build/tools/ # Caffe dependency to access the convert_imageset utility
DATA_ROOT=/home/hyperworks/colorfile/train/ # Path prefix for each entry in data.txt
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# ----------------------------
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=227
RESIZE_WIDTH=227
else
RESIZE_HEIGHT=0
RESIZE_WIDTH=0
fi
# Checks for DATA_ROOT Path
if [ ! -d "$DATA_ROOT" ]; then
echo "Error: DATA_ROOT is not a path to a directory: $DATA_ROOT"
echo "Set the DATA_ROOT variable to the path where the data
instances are stored."
exit 1
fi
# ------------------------------
# Creating LMDB
echo "Creating data lmdb..."
GLOG_logtostderr=1 $TOOLS/convert_imageset \
$DATA_ROOT \
$DATA/train.txt \
$EXAMPLE/train_lmdb
# ------------------------------
echo "Done."
This is the code i used to create the LMDB files- This is the code i used to create the LMDB files-
Upvotes: 1
Views: 757
Reputation: 114896
It seems like one (or more?) images in your input dataset has height
= 199. Caffe cannot crop image with height 199 to size 224.
Error message explained:
data_transformer.cpp:168] Check failed: height<=datum_height (224 vs. 199)
Looking at the 'data_transformer.cpp'
line 168:
CHECK_LE(height, datum_height);
the data transformer checks that the crop height (height
) is less than or equal (LE) to the input datum_height
.
As you can see from the error message, this check failed, meaning input height is larger than the crop height. The condition height=224 <= datum_height=199
does not hold and an error is raised.
Upvotes: 2