QAQ,鼓捣了三四天,反正我蠢我bb
train0.JPEG 0
train1.JPEG 0
train2.JPEG 0
train3.JPEG 0
train4.JPEG 0
train5.JPEG 0
train6.JPEG 0
train7.JPEG 0
......
train.txt应该这样写
<filename><一个空格><类别号>
cd
cd 文档/sh_learn
bash val.sh
bash train.sh
#! /bin/bash
cd
cd 文档/sh_learn
path=train2
rm -r train
rm train.txt
clear
dir=$(ls $path)
num_pic=0
num_num=0
num_name=0
max=200
mkdir train
dir2=$(ls $path$i)
for i in $dir2
do
echo "数字:($i),编号:($num_num)"
num_pic=0
dir3=$(ls $path/$i)
for j in $dir3
do
if [ $max -gt $num_pic ]
then echo "第($num_pic)张图片名($j),新图片名($num_name.jpg)"
cp $path/$i/$j train/train$num_name.JPEG
echo train$num_name.JPEG $num_num >> train.txt
fi
let num_pic+=1
let num_name+=1
done
let num_num+=1
done
#! /bin/bash
cd
cd 文档/sh_learn
path=val2
rm -r val
rm val.txt
clear
dir=$(ls $path)
num_pic=0
num_num=0
num_name=0
max=200
mkdir val
dir2=$(ls $path$i)
for i in $dir2
do
echo "数字:($i),编号:($num_num)"
num_pic=0
dir3=$(ls $path/$i)
for j in $dir3
do
if [ $max -gt $num_pic ]
then echo "第($num_pic)张图片名($j),新图片名($num_name.jpg)"
cp $path/$i/$j val/train$num_name.JPEG
echo train$num_name.JPEG $num_num >> val.txt
fi
let num_pic+=1
let num_name+=1
done
let num_num+=1
done
这是我把图片放在一起并生成txt的
然后是那个该死的create_imagenet<oh,不是该死的,是我蠢=- =,QAQ>
(注意:这里用的是灰度图像,灰度灰度灰度gray)
#!/usr/bin/env sh
clear
sudo rm -r examples/my_imagenet/ilsvrc12_train_lmdb
sudo rm -r examples/my_imagenet/ilsvrc12_val_lmdb
EXAMPLE=examples/my_imagenet
DATA=data/my_ilsvrc12data/
TOOLS=build/tools
TRAIN_DATA_ROOT=data/my_ilsvrc12data/train/
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=32
RESIZE_WIDTH=32
else
RESIZE_HEIGHT=0
RESIZE_WIDTH=0
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 thepath" \
"where the ImageNet training data is stored."
exit 1
fi
echo "Creating train lmdb..."
GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--backend="lmdb" \
--gray=true \
--shuffle \
$TRAIN_DATA_ROOT \
$DATA/train.txt \
$EXAMPLE/ilsvrc12_train_lmdb
VAL_DATA_ROOT=data/my_ilsvrc12data/val/
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 thepath" \
"where the ImageNet validation data is stored."
exit 1
fi
echo "Creating val lmdb..."
GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--backend="lmdb" \
--gray=true \
--shuffle \ $VAL_DATA_ROOT \ $DATA/val.txt \ $EXAMPLE/ilsvrc12_val_lmdb echo "Done."
重点啊:
sh create_imagenet.sh
结果啊:
Creating train lmdb...
I1031 10:05:10.154927 11937 convert_imageset.cpp:86] Shuffling data
I1031 10:05:10.155725 11937 convert_imageset.cpp:89] A total of 2000 images.
I1031 10:05:10.155937 11937 db_lmdb.cpp:35] Opened lmdb examples/my_imagenet/ilsvrc12_train_lmdb
I1031 10:05:11.350745 11937 convert_imageset.cpp:147] Processed 1000 files.
I1031 10:05:12.523094 11937 convert_imageset.cpp:147] Processed 2000 files.
Creating val lmdb...
I1031 10:05:12.550520 11938 convert_imageset.cpp:86] Shuffling data
I1031 10:05:12.551501 11938 convert_imageset.cpp:89] A total of 2000 images.
I1031 10:05:12.551832 11938 db_lmdb.cpp:35] Opened lmdb examples/my_imagenet/ilsvrc12_val_lmdb
I1031 10:05:15.412485 11938 convert_imageset.cpp:147] Processed 1000 files.
I1031 10:05:18.186136 11938 convert_imageset.cpp:147] Processed 2000 files.
Done.
erkp@erkp:~/caffe-master$ sudo bash '/home/erkp/caffe-master/data/my_ilsvrc12data/create_imagenet.sh'
结果是这个鸟样:
may force be with me
--backend="lmdb" \
--gray=true \