0508
優化器optimizer
常用momentum adam
都是考慮到上一次優化的學習率的下降趨勢結合
現在的學習率,更快的達到全域性最小量
tensorbord
視覺化需要用到
tf.namescope(『…』)
cd 到目錄然後執行
tensorboard --logdir='logs/' 一些
tensorboard
的方法在
python3
中已經更改,參考如下
tf.one_hot()函式
獨熱編碼
獨熱編碼一般是在有監督學習中對資料集進行標註時候使用的,指的是在分類問題中,將存在資料類別的那一類用x表示,不存在的用y表示,這裡的x常常是1, y常常是0。
就是將資料編碼成適合訓練的矩陣形式
scikit-learn(sklearn)
是機器學習中常用的第三方模組,對常用的機器學習方法進行了封裝,包括回歸(regression)、降維(dimensionality reduction)、分類(classfication)、聚類(clustering)等方法。當我們面臨機器學習問題時,便可根據下圖來選擇相應的方法。sklearn具有以下特點:
簡單高效的資料探勘和資料分析工具
讓每個人能夠在複雜環境中重複使用
建立numpy、scipy、matplotlib之上
conv = tf.nn.conv2d(input, w,
strides=[1
, stride, stride,
1],
padding
='same')
步長設定 [1,x_movement,y_movement,1]
x_movement 橫向移動多少
y_movement 縱向移動多少
padding 兩種設定 same vaild 一般用same 外圍設定一層0 大小寬度與原圖一樣
步長過大 可能丟失掉很多有效資訊
可以設定步長小一點,經過池化層,降取樣,然後達到相同效果,但是這樣保留的有效資訊更多
tf.nn.max_pool(input,與卷積層不同,池化層與權重w無關,不需要傳入wksize=[1
, stride, stride,
1],
strides=[1
, stride, stride,
1],
padding
='same')
tf.nn.max_pool(value, ksize, strides, padding, name=none)
引數是四個,和卷積很類似:
第乙個引數value:需要池化的輸入,一般池化層接在卷積層後面,所以輸入通常是feature map,依然是[batch, height, width, channels]這樣的shape
第二個引數ksize:池化視窗的大小,取乙個四維向量,一般是[1, height, width, 1],因為我們不想在batch和channels上做池化,所以這兩個維度設為了1
第三個引數strides:和卷積類似,視窗在每乙個維度上滑動的步長,一般也是[1, stride,stride, 1]
第四個引數padding:和卷積類似,可以取'valid' 或者'same'
返回乙個tensor,型別不變,shape仍然是[batch, height, width, channels]這種形式
x = tf.reshape(x,-1表示我懶得計算該填什麼數字,由python通過x和其他的值3推測出來。shape
=[-1
, 28
, 28, 1
])
在這裡表示n_sample
xs中佔位符定義的是 所有的sample 現在將它轉換一下shape 把784的向量轉換為[28,28]的矩陣,通道數為1 就是黑白影象
從零開始搭建深度學習環境
開始深度學習調參之路不能沒有乙個趁手的環境 安裝基礎環境 我使用的機器環境是 ubuntu18.04 安裝顯示卡驅動 1.2.按照cuda所需的版本安裝 3.sudo ubuntu drivers autoinstall 安裝pip sudo apt get install python pip 安...
從零開始的深度學習 4
在之前的練習中,解碼器在各個時間步依賴相同的背景變數 context vector 來獲取輸入的序列資訊。當編碼器為迴圈神經網路時,背景變數來自它最終時間步的隱藏狀態。將源序列輸入資訊以迴圈單位狀態編碼,然後將其傳遞給解碼器以生成目標序列。然而這種結構存在著問題,尤其是rnn機制實際中存在長程梯度消...
從零開始學習react
react.createlement tag,content class shoppinglist extends react.component return 我們可以把兩者結合起來,使 react 的 state 成為 唯一資料來源 渲染表單的 react 元件還控制著使用者輸入過程中表單發生的...