import torch
from fastai.vision.all import *
import cv2
import numpy as np
import os
'CUDA_LAUNCH_BLOCKING'] = "1"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
os.environ[import cv2
import numpy as np
import matplotlib.pyplot as plt
from PIL import ImageDraw
from PIL import ImageFont
from PIL import ImageFile
from PIL import Image
= True
ImageFile.LOAD_TRUNCATED_IMAGES from torchvision.utils import save_image
import os
https://seoyeonc.github.io/chch/cnn/feature%20extraction/big%20data%20analysis/2022/01/11/bd_9주차.html
https://seoyeonc.github.io/chch/cam/2022/01/10/bd-8주차_1.html
import
import rpy2
import rpy2.robjects as ro
from rpy2.robjects.vectors import FloatVector
from rpy2.robjects.packages import importr
def label_func(f):
if f[0].isupper():
return 'cat'
else:
return 'dog'
Original Image로 학습하는 과정
=untar_data(URLs.PETS)/'images' path
# path.ls()
=get_image_files(path) files
=ImageDataLoaders.from_name_func(path,files,label_func,item_tfms=Resize(512)) dls
=cnn_learner(dls,resnet34,metrics=error_rate)
lrnr1) lrnr.fine_tune(
=lrnr.model[0]
net1=lrnr.model[1] net2
= torch.nn.Sequential(
net2 =1),
torch.nn.AdaptiveAvgPool2d(output_size
torch.nn.Flatten(),512,out_features=2,bias=False)) torch.nn.Linear(
=torch.nn.Sequential(net1,net2) net
=Learner(dls,net,metrics=accuracy) lrnr2
10) lrnr2.fine_tune(
= ClassificationInterpretation.from_learner(lrnr2)
interp interp.plot_confusion_matrix()
interp.print_classification_report()
랜덤박스가 들어간 개 고양이 그림 다운로드
=untar_data(URLs.PETS)/'images' path
if str(list(path.ls())[103]).split('/')[-1].split('.')[-1]=="jpg" :
print("jpg")
#name=str(list(path.ls())[i]).split('/')[-1]
path.ls()
for i in range(7393) :
= PILImage.create(get_image_files(path)[i])
img = img.resize([512,512], resample=None, box=None, reducing_gap=None)
img = str(list(path.ls())[i]).split('/')[-1]
name = name.split('.')[-1]
fname if fname!="jpg" :
print(name)
else : pass
.mat
파일 같은 이상한 거 삭제
# os.remove(r"/home/csy/.fastai/data/oxford-iiit-pet/images/Abyssinian_100.mat")
# os.remove(r"/home/csy/.fastai/data/oxford-iiit-pet/images/Abyssinian_102.mat")
# os.remove(r"/home/csy/.fastai/data/oxford-iiit-pet/images/Abyssinian_101.mat")
# os.mkdir("random_pet_one")
# for i in range(len(path.ls())) :
# img = PILImage.create(get_image_files(path)[i])
# img = img.resize([512,512], resample=None, box=None, reducing_gap=None)
# (w, h) = (img.shape[0], img.shape[1])
# a = random.uniform(0, w*0.7)
# b = random.uniform(0, h*0.9)
# shape = [(a, b), (a+85, b+85)]
# font = ImageFont.truetype("DejaVuSans.ttf", round(h*0.075))
# name = str(list(path.ls())[i]).split('/')[-1]
# fname = name.split('.')[-1]
# if name[0].isupper() == True :
# img1 = ImageDraw.Draw(img)
# img1.rectangle(shape, fill ="white", outline ="black")
# ImageDraw.Draw(img).text((a+5, b+15), 'Cat', (0,0,0), font=font)
# img.save("random_pet_one/"+name)
# else:
# img1 = ImageDraw.Draw(img)
# img1.rectangle(shape, fill ="black", outline ="black")
# ImageDraw.Draw(img).text((a+5, b+15), 'Dog', (255,255,255), font=font)
# img.save("random_pet_one/"+name)