資源簡(jiǎn)介
自 2017 年 1 月 PyTorch 推出以來(lái),其熱度持續(xù)上升,一度有趕超 TensorFlow 的趨勢(shì)。PyTorch 能在短時(shí)間內(nèi)被眾多研究人員和工程師接受并推崇是因?yàn)槠溆兄T多優(yōu)點(diǎn),如采用 Python 語(yǔ)言、動(dòng)態(tài)圖機(jī)制、網(wǎng)絡(luò)構(gòu)建靈活以及擁有強(qiáng)大的社群等。因此,走上學(xué)習(xí) PyTorch 的道路已刻不容緩。
本教程以實(shí)際應(yīng)用、工程開(kāi)發(fā)為目的,著重介紹模型訓(xùn)練過(guò)程中遇到的實(shí)際問(wèn)題和方法。如上圖所示,在機(jī)器學(xué)習(xí)模型開(kāi)發(fā)中,主要涉及三大部分,分別是數(shù)據(jù)、模型和損失函數(shù)及優(yōu)化器。本文也按順序的依次介紹數(shù)據(jù)、模型和損失函數(shù)及優(yōu)化器,從而給大家?guī)?lái)清晰的機(jī)器學(xué)習(xí)結(jié)構(gòu)。

代碼片段和文件信息
#?coding:utf-8
“““
????將cifar10的data_batch_12345?轉(zhuǎn)換成?png格式的圖片
????每個(gè)類別單獨(dú)存放在一個(gè)文件夾,文件夾名稱為0-9
“““
from?scipy.misc?import?imsave
import?numpy?as?np
import?os
import?pickle
data_dir?=?‘../../Data/cifar-10-batches-py/‘
train_o_dir?=?‘../../Data/cifar-10-png/raw_train/‘
test_o_dir?=?‘../../Data/cifar-10-png/raw_test/‘
Train?=?False???#?不解壓訓(xùn)練集,僅解壓測(cè)試集
#?解壓縮,返回解壓后的字典
def?unpickle(file):
????fo?=?open(file?‘rb‘)
????dict_?=?pickle.load(fo?encoding=‘bytes‘)
????fo.close()
????return?dict_
def?my_mkdir(my_dir):
????if?not?os.path.isdir(my_dir):
????????os.makedirs(my_dir)
#?生成訓(xùn)練集圖片,
if?__name__?==?‘__main__‘:
????if?Train:
????????for?j?in?range(1?6):
????????????data_path?=?data_dir?+?“data_batch_“?+?str(j)??#?data_batch_12345
????????????train_data?=?unpickle(data_path)
????????????print(data_path?+?“?is?loading...“)
????????????for?i?in?range(0?10000):
????????????????img?=?np.reshape(train_data[b‘data‘][i]?(3?32?32))
????????????????img?=?img.transpose(1?2?0)
????????????????label_num?=?str(train_data[b‘labels‘][i])
????????????????o_dir?=?os.path.join(train_o_dir?label_num)
????????????????my_mkdir(o_dir)
????????????????img_name?=?label_num?+?‘_‘?+?str(i?+?(j?-?1)*10000)?+?‘.png‘
????????????????img_path?=?os.path.join(o_dir?img_name)
????????????????imsave(img_path?img)
????????????print(data_path?+?“?loaded.“)
????print(“test_batch?is?loading...“)
????#?生成測(cè)試集圖片
????test_data_path?=?data_dir?+?“test_batch“
????test_data?=?unpickle(test_data_path)
????for?i?in?range(0?10000):
????????img?=?np.reshape(test_data[b‘data‘][i]?(3?32?32))
????????img?=?img.transpose(1?2?0)
????????label_num?=?str(test_data[b‘labels‘][i])
????????o_dir?=?os.path.join(test_o_dir?label_num)
????????my_mkdir(o_dir)
????????img_name?=?label_num?+?‘_‘?+?str(i)?+?‘.png‘
????????img_path?=?os.path.join(o_dir?img_name)
????????imsave(img_path?img)
????print(“test_batch?loaded.“)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\
?????文件????????2050??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\1_1_cifar10_to_png.py
?????文件????????1409??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\1_2_split_dataset.py
?????文件????????1106??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\1_3_generate_txt.py
?????文件?????????991??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\1_3_mydataset.py
?????文件????????1148??2018-12-20?05:05??PyTorch_Tutorial-master\Code\1_data_prepare\1_5_compute_mean.py
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\2_model\
?????文件????????7118??2018-12-20?05:05??PyTorch_Tutorial-master\Code\2_model\2_finetune.py
?????文件??????249573??2018-12-20?05:05??PyTorch_Tutorial-master\Code\2_model\net_params.pkl
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\
?????文件?????????737??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\1_L1Loss.py
?????文件?????????744??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\2_MSELoss.py
?????文件????????2698??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\3_CrossEntropyLoss.py
?????文件?????????701??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\4_NLLLoss.py
?????文件?????????335??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\5_PoissonNLLLoss.py
?????文件?????????967??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_1_lossFunction\6_KLDivLoss.py
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\
?????文件?????????600??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\1_param_groups.py
?????文件?????????631??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\2_zero_grad.py
?????文件?????????777??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\3_state_dict.py
?????文件????????1400??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\4_load_state_dict.py
?????文件?????????838??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\5_add_param_group.py
?????文件????????1001??2018-12-20?05:05??PyTorch_Tutorial-master\Code\3_optimizer\3_2_optimizer\net_params.pkl
?????目錄???????????0??2018-12-20?05:05??PyTorch_Tutorial-master\Code\4_viewer\
?????文件????????3901??2018-12-20?05:05??PyTorch_Tutorial-master\Code\4_viewer\1_tensorboardX_demo.py
?????文件????????2633??2018-12-20?05:05??PyTorch_Tutorial-master\Code\4_viewer\2_visual_weights.py
?????文件????????2041??2018-12-20?05:05??PyTorch_Tutorial-master\Code\4_viewer\3_visual_featuremaps.py
?????文件????????3733??2018-12-20?05:05??PyTorch_Tutorial-master\Code\4_viewer\4_hist_grad_weight.py
............此處省略14個(gè)文件信息
評(píng)論
共有 條評(píng)論