機器心臟排列

參與:思源和益銘

一行代碼定義計算圖,好容易,我媽再也不用擔心我的機器學(xué)習(xí)了。

項目地址:https://github.com/JuliusKunze/jaxnet

JAXnet是一個基于JAX的深度學(xué)習(xí)庫,它的API提供了便捷的建模體驗。與主流框架如TensorFlow 2.0或PyTorch相比,JAXnet具有獨特的優(yōu)勢。拿栗子來說,不管是Keras還是PyTorch。它們被模擬成積木。

然而,有一種比構(gòu)建塊更簡單的方法,那就是JAXnet的模塊化:

fromjaxnet import*

凈=順序,密集,密集,對數(shù)最大值)

從預(yù)定義的模塊創(chuàng)建神經(jīng)網(wǎng)絡(luò)模型。

要創(chuàng)建完全連接的網(wǎng)絡(luò),您可以直接使用預(yù)定義的模塊??梢哉fJAXnet定義了計算圖,只需要一行代碼。寫一個神經(jīng)網(wǎng)絡(luò),原來這么簡單。

一般來說,JAXnet側(cè)重于模塊化、可擴展性和易用性:

采用了不可變權(quán)重,而不是全局計算圖,從而獲得更強的穩(wěn)健性; 用于構(gòu)建神經(jīng)網(wǎng)絡(luò)、訓(xùn)練循環(huán)、預(yù)處理、后處理等過程的 NumPy 代碼經(jīng)過 GPU 編譯; 任意模塊或整個網(wǎng)絡(luò)的正則化、重參數(shù)化都只需要一行代碼; 取消了全局隨機狀態(tài),采用了更便捷的 Key 控制。

擴展性

您可以使用@ parameterized來定義自己的模塊并重用其他模塊:

fromjax importnumpy asnp

@ parameter ized floss:return-NP . mean* targets)

所有模塊都是這樣組合的。杰克斯·努皮是努皮的鏡像。只要知道如何使用numpy,就可以知道JAXnet的大部分用法。

以下是TensorFlow2/Keras的代碼,比JAXnet簡單:

importtensorflow astffromtensorflow.keras importSequentialfromtensorflow.keras.layers importDense, Lambda

net =順序、密集、密集、λ]

defloss:return-tf.reduce_mean*目標)

需要注意的是,Lambda函數(shù)在JAXnet中不是必須的。relu和logsoftmax函數(shù)都是Python寫的。

不可變重量

不像TensorFlow或者Keras,JAXnet沒有全局計算圖。模塊,如。凈價和損失不能節(jié)省可變權(quán)重。權(quán)重存儲在不同的不可變類中。這些權(quán)重由init_parameters函數(shù)初始化,以提供隨機鍵和樣本輸入:

fromjax.random importPRNGKeydefnext_batch:returnnp.zeros), np.zeros)

params = loss . init _ parameters,* next _ batch)print#

目標函數(shù)不在線改變權(quán)重,而是不斷更新下一個版本的權(quán)重。它們以新的優(yōu)化狀態(tài)返回,并由get_parameters檢索。

opt = optimizers.Adamstate = opt.init_statefor _ in range:state = opt.optimize # accelerate with jit=Truetrained_params = opt.get_parameters

當網(wǎng)絡(luò)需要評估時:

test_loss= loss.apply # accelerate with jit=True

JAXnet的正則化也很簡單:

loss= L2egularized

其他特征

除了簡潔的代碼,JAXnet還支持GPU上的計算。也可以用jit編譯,擺脫Python運行緩慢的問題。同時,JAXnet是單步調(diào)試,就像Python代碼一樣。

安裝也很簡單,用pip安裝即可。如果需要使用GPU,需要先安裝jaxlib。

其他具體的空氣污染指數(shù)可參考:https://github.com/JuliusKunze/jaxnet/blob/master/API.md

這篇文章是為機器的核心而寫的。請聯(lián)系本微信官方賬號進行授權(quán)。

1.《jax JAXnet:一行代碼定義計算圖,兼容三大主流框架,可GPU加速》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《jax JAXnet:一行代碼定義計算圖,兼容三大主流框架,可GPU加速》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/junshi/1691227.html