Datawhale 零基礎入門CV賽事街景字符識別學習筆記--第1次打卡

  1. 安裝python3.7版本、pytorch、jupyter、tqdm、opencv-python、matplotlib、pandas,在windows環境下安裝的,沒有GPU,安裝的過程和教程中給的有點點差異,好在順利安裝完成。直接按照教程中命令執行,報錯,找不到相應的包,命令修改爲

conda install pytorch=1.3.1 torchvision cudatoolkit=10.0 –c pytorch

-c是從官方源下載,配置了國內源的話,不加-c更快;

或者配置國內的源,不加-c,用下面的命令:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64

 

安裝成功了,但是導入的時候還是報錯,使用下面的命令安裝:

pip3 install https://download.pytorch.org/whl/cpu/torch-1.1.0-cp37-cp37m-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/

安裝0.2.1版本的torchvision,解決,import成功

 

2.  Baseline流程梳理:

         1)定義讀取圖像的Dataset;

         2)定義訓練數據和驗證數據的Dataset;

         3)定義字符分類模型,使用ResNet18的模型進行特徵提取;

         4)定義訓練、驗證和預測模塊;

         5)迭代訓練和驗證模型;

         6)對測試集樣本進行預測,生成提交文件

 

    3. 實現過程

         1)訓練模型時報錯

解決方法:該問題的產生是由於windows下多線程的問題,和DataLoader類有關,具體細節點這裏Fix memory leak when using multiple workers on Windows

解決方案:修改調用torch.utils.data.DataLoader()函數時的num_workers參數。該參數官方API解釋如下: 

  • num_workers (int, optional) – how many subprocesses to use for data loading. 0 
    means that the data will be loaded in the main process. (default: 0)

該參數是指在進行數據集加載時,啓用的線程數目。截止當前2018年5月9日11:15:52,如官方未解決該BUG,則可以通過修改num_works參數爲 ,只啓用一個主進程加載數據集,避免在windows使用多線程即可。

     2)訓練模型時報錯

解決方法:target=target.long()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章