카페 모형의 이동 학습을 해보도록 하겠습니다.

3675 단어 CaffeTransferLearning

1. 이동 학습


2. 재학습용 데이터 수집



라벨은 인공지능으로 표시된 것이다.인간이 표시한 데이터에 따르면 허용도가 높고,'선글라스 낀 고양이','애니메이션 고양이'도 고양이로 표시하기 때문에fine tuning은 적합하지 않으니 포기하자.
wget https://storage.googleapis.com/openimages/2017_07/images_2017_07.tar.gz
tar -zxvf images_2017_07.tar.gz
wget https://storage.googleapis.com/openimages/2017_07/annotations_machine_2017_07.tar.gz
tar -zxvf annotations_machine_2017_07.tar.gz
import csv
import os
import time
from PIL import Image
import urllib
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True

all_tgt = ["cat", "dog", "person", "yard"]

for cur_tgt in all_tgt:
    print '\nClass : ' + str(cur_tgt) + '\n\n'
    f1 = open('/home/ubuntu/labels_'+str(cur_tgt)+'.csv', 'r')
    reader1 = csv.reader(f1)
    f2 = open('/home/ubuntu/2017_07/train/images.csv', 'r')
    reader2 = csv.reader(f2)
    confidence = 1.0
    if cur_tgt == 'yard':
        confidence = 0.9

    cnt = 0
    for row1 in reader1:

        if float(row1[3]) == confidence:

            for row2 in reader2:
                if row1[0] == row2[0]:
                    break
            print str(cnt)+' : '+row2[2]

            #load image
            try:
                urlimg = urllib.urlopen(row2[2])            
                img = Image.open(urlimg)
            except:
                continue # skip if error happened

            fname = '/home/ubuntu/downloaded_images/'+str(cur_tgt)+'.'+str(cnt)+'.jpg'
            if urlimg.url.find('unavailable') == -1:
                if cur_tgt != 'yard':
                    #resize image
                    ratio = img.width / 227.0
                    if img.height < img.width:
                        ratio = img.height / 227.0
                    img_resize = img.resize((int(round(img.width/ratio)), int(round(img.height/ratio))))
                    img_resize.save(fname)
                else:
                    img.save(fname)

                cnt = cnt + 1
                if 10000 <= cnt:
                    break
    f1.close()
    f2.close()
images.csv의 내용은 다음과 같습니다.

annotations-machine.csv 행마다 이미지 ID와 해당 이미지 태그가 있습니다.안은 이런 모양입니다.Open Images Dataset에는 고양이 ID (/m/01yrx) 에 해당하는 이미지 ID와 태그 이름이 있습니다.

그리고 900만 장의 그림에서 아래의 지령으로 고양이와 관련된 그림만 본다
추출해.
/home/ubuntu/labels_cat.csv
0000de486dc6c49f,machine,/m/01yrx,0.9
00056e547b7c00d6,machine,/m/01yrx,1.0
00067fe83e3e21c8,machine,/m/01yrx,1.0
0008ab3d8674f6ca,machine,/m/01yrx,1.0
000aa552a9d80891,machine,/m/01yrx,1.0
000c01d8269e1554,machine,/m/01yrx,0.7
000c24660cd3fd95,machine,/m/01yrx,0.7
00129ccb99612727,machine,/m/01yrx,1.0

결과
labals_cat.csv
labals_dog.csv
labals_person.csv
labals_yard.csv
이번에는 파인애플 투어의 장르별 학습 데이터를 모아서 쓰려고 합니다.
메타데이터 파일을 생성합니다.

좋은 웹페이지 즐겨찾기