原创 Pytorch的pre-train函數模型或者舊的模型的引用及修改(增減網絡層,修改某層參數等) finetune微調

對於想直接用已有的網絡模型,只是增加,減少或者修改某幾層,可以參考下面兩篇博客.介紹了兩種方法: 1.常用的方法,好理解: https://blog.csdn.net/qq_27292549/article/details/789

原创 pytroch中指定GPU或者CPU寫法

之前習慣用.cpu(),.cuda()來指定. 現在不要顯示的指定是gpu, cpu之類的. 利用.to()來執行 # at beginning of the script device = torch.device("cuda:

原创 pytorch加載多GPU模型和單GPU模型

有時候,我們用pytorch進行多卡GPUs訓練時候,保存模型應該用下面語句: torch.save(model.module.state_dict(), model_out_path) 但是忘記加module了,直接用 tor

原创 pytorch0.4使用注意

1.梯度 1.Variable()中,requires_grad=Fasle時不需要更新梯度, 適用於凍結某些層的梯度; 2.volatile=True相當於requires_grad=False,適用於測試階段,不需要反向傳播。

原创 pytorch 讀取數據方法總結

用pytorch讀取數據,確實要比tensorflow簡單,但是也得熟悉半個小時左右. 下面總結下我的體驗,直接用代碼 (1)torch.utils.data.Dataset (2)torch.utils.data.DataLoa

原创 加載resNet預訓練模型

# Assume input range is [0, 1] class ResNet101FeatureExtractor(nn.Module): def __init__(self, use_input_norm=Tr

原创 算法思維-1 :判斷數組中哪個數出現的頻率最高(這個頻率要超過數組長度一半爲前提 )

代碼片段: int MoreThanHalfNum_Solution(vector<int> numbers) { int length = numbers.size(); if(length<=0){ re

原创 卷積的實現(python)

import numpy as np import math class Conv2D(object): def __init__(self, shape, output_channels, ksize=3, stride=1,

原创 庫函數tf.conv2d()卷積的python實現

話不多說,代碼說話: import numpy as np import math class Conv2D(object): def __init__(self, shape, output_channels, ksize=3

原创 linux下合併多個文件夾內容成爲一個文件夾

一個數據集下載下來有多個部分,part1,part2,part3…需要將這多個部分合成一個部分。查了下,沒找到直接可以達到效果的命令行(試過cat,rsync等) 解決方案: 寫一段python腳本:merge_folder.py

原创 L1正則、L2正則、Batch Normalization、Dropout爲什麼能夠防止過擬合呢?

最近面試,被問到Batch Normalization爲什麼能夠防止過擬合,爲什麼能夠加快收斂速度,一時間沒有答上來(失敗啊…).現在簡單記錄下幾種深度學習中常用的防止過擬合的技巧,以及爲什麼能有防止過擬合作用. L1正則:增加了參數

原创 github的使用記錄

第一步:登錄github官網,註冊賬號,然後本地生成祕鑰填入Github網頁: 細節參考博客:https://blog.csdn.net/u010417185/article/details/82857856 第二步:github上建

原创 1x1卷積兩個主要作用

1*1卷積的主要作用有以下幾點: 1、降維( dimension reductionality )。比如,一張500 * 500且厚度depth爲100 的圖片在20個filter上做11的卷積,那麼結果的大小爲500500*20。

原创 算法思維-2 :異或尋找數組中不同的數,並確定位置

題目:一個整型數組裏除了兩個數字之外,其他的數字都出現了偶數次。請寫程序找出這兩個只出現一次的數字 代碼: 異或:相同爲0,相異爲1 代碼中用n確定位置,我思考了一會兒:n並不是記錄了位置的索引,而是記錄x中從後往前第一個1出現的位置

原创 算法思維-1 :判斷數組中哪個數出現的頻率最高

代碼片段: int MoreThanHalfNum_Solution(vector<int> numbers) { int length = numbers.size(); if(length<=0){ retu