ImageNet 트레이닝 전체 프로세스

데이터 다운로드
훈련집(138G)
인증 세트(6.3G-50000장)
train_label.txt
validation_label.txt
p.s. 빠른 천둥으로 사흘 만에 끝내다
데이터 압축 해제
tar xvf ILSVRC2012_img_train.tar -C ./train
tar xvf ILSVRC2012_img_val.tar -C ./val
train 데이터 집합에 대해 압축을 풀면 1000개의 tar 파일이 있습니다. 다시 압축을 풀려면 스크립트 unzip을 풀어야 합니다.sh는 다음과 같습니다
dir=/data/srd/data/Image/ImageNet/train

for x in `ls $dir/*tar`
do
    filename=`basename $x .tar`
    mkdir $dir/$filename
    tar -xvf $x -C $dir/$filename
done

rm *.tar

데이터 세트 사용
다운로드한 훈련집 아래의 모든 폴더는 하나의 그림이고 폴더 이름에 대응하는 라벨은 좋은 라벨 파일meta를 다운로드한다.matl에서, 이것은 matlab 파일, scipy입니다.io.loadmat는 파일 내용을 읽을 수 있으며 검증집 아래에는 5000장의 그림이 있고 각 그림에 대응하는 라벨은 ILSVRC2012validation_ground_truth.txt에서데이터 강화: 이미지를 추출할 때 무작위로 추출한 다음에 그림을 짧은 256으로 축소한 다음에 224x224의 그림을 무작위로 재단한 다음에 각 채널에서 해당 채널의 평균치를 빼고 무작위로 좌우로 뒤집는다.
신경 네트워크 모델 선택
DenseNet이 실현했기 때문에 이번에는 ResNext와 Inception-ResNet-v2를 해보겠습니다.
ResNext: 인터넷 코드의 실현을 보면 문제가 있는 것 같아요. split 채널은 원문의 뜻과 맞지 않아요. 그리고 제가 훈련해 봤는데 cifar-100 결과와 논문의 결론이 달라서 제 이해에 따라 하나를 만들었어요. imagenet에서 훈련 결과는 원문과 비교적 일치해요.
  • blocks of ResNeXt: 256d(in)-(256,1x1,128)-(3x3,32x4d)-(128,1x1,256)-256d(out)
  • Downsampling is done by stride-2 convolutions in the 3×3 layer of the first block in each stage.(shortcut용stride-2의 2x2의 평균 연못화)
  • The identity shortcuts can be directly used when the input and output are of the same dimensions. When the dimensions increase, we consider two options: (A) The shortcut still performs identity mapping, with extra zero entries padded for increasing dimensions. This option introduces no extra parameter; (B) The projection shortcut is used to match dimensions (done by 1×1 convolutions). For both options, when the shortcuts go across feature maps of two sizes, they are performed with a stride of 2.(나는 직접 0 채널을 보충하는 방식을 채택했다)
  • result: 50-layer
  • top 5 acc: 0.92708
  • top 1 acc: 0.7562

  • Inception-resNet-v2: 논문대로 훑어보고, 세 가지 Block, 두 가지 Reduction, 그리고stem 이 몇 가지 모듈.

    좋은 웹페이지 즐겨찾기