作業記錄 WEEK7(下)

2021-10-22 03:26:39 字數 3979 閱讀 6644

上篇最後在生成csv檔案和triplet檔案。csv已經好了,triplet還沒;

triplet檔案在dataloader_facenet_mask.py檔案中。看一下具體是怎麼用的。

首先看v2 import的了哪些內容:

from data_loader.data_loader_facenet_mask import test_dataloader,v9_train_dataloader

from data_loader.data_loader_facenet_mask import lfwestmask_dataloader

以下是載入進來的一些例項,路徑已經全部備註,防止出錯

# 測試資料生成器

test_dataloader = torch.utils.data.dataloader(

dataset = testdataset(

dir= config[

'lfw_data_path'],

# 'datasets/lfw_funneled'

pairs_path = config[

'lfw_pairs'],

# 'datasets/lfw_pairs.txt'

predicter_path = config[

'predicter_path'],

# 'data_preprocessing/shape_predictor_68_face_landmarks.dat'

img_size = config[

'image_size'],

# 256

transform = test_data_transforms,

test_pairs_paths = config[

'test_pairs_paths'

]# 'datasets/test_pairs.npy'),

batch_size = config[

'test_batch_size'],

# 38

num_workers = config[

'num_workers'],

# 0 shuffle =

false

)

# 訓練資料生成器

from config_notmask import config as notcf

v9_train_dataloader = torch.utils.data.dataloader(

dataset = traindataset(

face_dir = config[

'train_data_path'],

# 'datasets/vggface2_train_face_mask'

mask_dir = notcf[

'mask_data_path'],

# 'datasets/vggface2_train_mask_mask'

csv_name = config[

'train_data_index'],

# 'datasets/vggface2_train_face_mask.csv'

num_triplets = config[

'num_train_triplets'],

# 1000

training_triplets_path = config[

'train_triplets_path'],

#'datasets/training_triplets_' + str(config['num_train_triplets']) + 'mask.npy'

transform = train_data_transforms,

txt_mask=

'mask'

, predicter_path = config[

'predicter_path'],

# 'data_preprocessing/shape_predictor_68_face_landmarks.dat'

img_size = config[

'image_size'

]# 256),

batch_size = config[

'train_batch_size'],

# 38

num_workers = config[

'num_workers'],

# 0 shuffle =

false

)

# lfw戴口罩測試資料生成器

lfwestmask_dataloader = torch.utils.data.dataloader(

dataset=lfwestmaskdataset(

dir=config[

'lfw_data_path'],

# 'datasets/lfw_funneled'

pairs_path=config[

'lfw_pairs'],

# 'datasets/lfw_pairs.txt'

predicter_path=config[

'predicter_path'],

# 'data_preprocessing/shape_predictor_68_face_landmarks.dat'

img_size=config[

'image_size'],

# 256

transform=test_data_transforms,

test_pairs_paths=config[

'test_pairs_paths'

]#'datasets/test_pairs_1.npy'),

batch_size=config[

'test_batch_size'],

# 38

num_workers=config[

'num_workers'],

# 0 shuffle=

false

)

初始載入模型路徑的地方,因為沒有給model_pathi賦初值,所以會報變數未定義的錯。

解決方案:賦乙個空str

model_path = os.path.join(pwd,

'model_training_checkpoints'

)x =

[int

(i.split(

'_')[4

])for i in os.listdir(model_path)

if'v2'

in i]

x.sort(

)model_pathi =

''# 賦空string防止未定義變數報錯

for i in os.listdir(model_path):if

(len

(x)!=0)

and(

'epoch_'

+str

(x[-1]

)in i)

and(

'v2'

in i)

: model_pathi = os.path.join(model_path, i)

break

報錯沒有cuda,因為前面cuda_environ設定的是』2』, 但aistudio是單卡,從0開始。要寫 『0』。

訓練很快 測試驗證非常慢。不知道是不是batchsize38太小了。

跑完了乙個epoch看下log:感覺好像和之前對比,也沒有多大的提公升。應該是epoch少了,再等等看。至少跑通了

更新 :五個epoch了

week7 作業C TT的美夢

這一晚,tt 做了個美夢!在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 n,其中 1 號城市是 tt 所在的城市,即首都。喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦惱之時,他的魔法小貓咪提出...

week7 作業A TT的魔法貓

眾所周知,tt 有乙隻魔法貓。這一天,tt 正在專心致志地玩 貓和老鼠 遊戲,然而比賽還沒開始,聰明的魔法貓便告訴了 tt 比賽的最終結果。tt 非常詫異,不僅詫異於他的小貓咪居然會說話,更詫異於這可愛的小不點為何有如此魔力?魔法貓告訴 tt,它其實擁有一張遊戲勝負表,上面有 n 個人以及 m 個勝...

week7 作業B TT的旅行日記

眾所周知,tt 有乙隻魔法貓。今天他在 b 站上開啟了一次旅行直播,記錄他與魔法貓在喵星旅遊時的奇遇。tt 從家裡出發,準備乘坐貓貓快線前往喵星機場。貓貓快線分為經濟線和商業線兩種,它們的速度與價錢都不同。當然啦,商業線要比經濟線貴,tt 平常只能坐經濟線,但是今天 tt 的魔法貓變出了一張商業線車...