日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

2.11 向量化-深度学习-Stanford吴恩达教授

發布時間:2025/4/5 pytorch 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.11 向量化-深度学习-Stanford吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
2.10 m 個樣本的梯度下降回到目錄2.12 向量化的更多例子

向量化 (Vectorization)

向量化是非常基礎的去除代碼中for循環的藝術,在深度學習安全領域、深度學習實踐中,你會經常發現自己訓練大數據集,因為深度學習算法處理大數據集效果很棒,所以你的代碼運行速度非常重要,否則如果在大數據集上,你的代碼可能花費很長時間去運行,你將要等待非常長的時間去得到結果。所以在深度學習領域,運行向量化是一個關鍵的技巧,讓我們舉個栗子說明什么是向量化。

在邏輯回歸中你需要去計算 z=wT+bz=w^T+bz=wT+bwwwxxx 都是列向量。如果你有很多的特征那么就會有一個非常大的向量,所以 w∈Rnxw\in\R^{n_x}wRnx? , x∈Rnxx\in\R^{n_x}xRnx? ,所以如果你想使用非向量化方法去計算 wTxw^TxwTx ,你需要用如下方式(python

x z=0 for i in range(n_x)z+=w[i]*x[i] z+=b

這是一個非向量化的實現,你會發現這真的很慢,作為一個對比,向量化實現將會非常直接計算 wTxw^TxwTx ,代碼如下:z=np.dot(w,x)+b

這是向量化計算 wTxw^TxwTx 的方法,你將會發現這個非常快

讓我們用一個小例子說明一下,在我的我將會寫一些代碼(以下為教授在他的Jupyter notebook上寫的Python代碼,)

xxxxxxxxxx import numpy as np #導入numpy庫 a = np.array([1,2,3,4]) #創建一個數據a print(a) # [1 2 3 4] import time #導入時間庫 a = np.random.rand(1000000) b = np.random.rand(1000000) #通過round隨機得到兩個一百萬維度的數組 tic = time.time() #現在測量一下當前時間 #向量化的版本 c = np.dot(a,b) toc = time.time() print(“Vectorized version:+ str(1000*(toc-tic)) +”ms”) #打印一下向量化的版本的時間 ? #繼續增加非向量化的版本 c = 0 tic = time.time() for i in range(1000000):c += a[i]*b[i] toc = time.time() print(c) print(“For loop:+ str(1000*(toc-tic)) + “ms”)#打印for循環的版本的時間

返回值見圖。

在兩個方法中,向量化和非向量化計算了相同的值,如你所見,向量化版本花費了1.5毫秒,非向量化版本的for循環花費了大約幾乎500毫秒,非向量化版本多花費了300倍時間。所以在這個例子中,僅僅是向量化你的代碼,就會運行300倍快。這意味著如果向量化方法需要花費一分鐘去運行的數據,for循環將會花費5個小時去運行。

一句話總結,以上都是再說和for循環相比,向量化可以快速得到結果。

你可能聽過很多類似如下的話,“大規模的深度學習使用了GPU或者圖像處理單元實現”,但是我做的所有的案例都是在jupyter notebook上面實現,這里只有CPUCPUGPU都有并行化的指令,他們有時候會叫做SIMD指令,這個代表了一個單獨指令多維數據,這個的基礎意義是,如果你使用了built-in函數,像np.function或者并不要求你實現循環的函數,它可以讓python的充分利用并行化計算,這是事實在GPUCPU上面計算,GPU更加擅長SIMD計算,但是CPU事實上也不是太差,可能沒有GPU那么擅長吧。接下來的視頻中,你將看到向量化怎么能夠加速你的代碼,經驗法則是,無論什么時候,避免使用明確的for循環。

以下代碼及運行結果截圖:



課程PPT




←上一篇↓↑下一篇→
2.10 m 個樣本的梯度下降回到目錄2.12 向量化的更多例子

總結

以上是生活随笔為你收集整理的2.11 向量化-深度学习-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。