溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

發(fā)布時(shí)間:2021-12-04 18:23:16 來源:億速云 閱讀:422 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

   MagNet,一個(gè)基于pytorch庫(kù)的高層API封裝庫(kù),非常類似于Keras。寫過原生Tensorflow的童鞋肯定知道,那過程不好受,后來有了keras,tensorlayer等以后就方便多了。不同于Tensorflow,pytorch上手已經(jīng)很容易了,但是有了MagNet,pytorch寫起來將更加簡(jiǎn)潔。弄不好以后Keras+Tensorflow,MagNet+pytorch將作為入門深度學(xué)習(xí)的兩大選擇。目前該庫(kù)還在開發(fā)中,bug還不少,不過喜歡pytorch的童鞋不妨先試一下,及時(shí)跟進(jìn)后續(xù)進(jìn)展。

地址: https://github.com/MagNet-DL/magnet

0,安裝Anaconda (www.anaconda.com)

1,安裝magnet并創(chuàng)建conda環(huán)境

$git clone https://github.com/svaisakh/magnet.git

$cd magnet && conda env update

2,設(shè)置環(huán)境變量,編輯~/.bashrc

export PYTHONPATH=$PYTHONPATH:<magnet安裝路徑>

export MAGNET_DATAPATH="<數(shù)據(jù)集存放路徑>"

3,執(zhí)行腳本使設(shè)置生效

$source ~/.bashrc

4,激活conda環(huán)境

$conda activate magnet

5,先測(cè)試上面的簡(jiǎn)單網(wǎng)絡(luò),流程掌握以后可以試一下復(fù)雜點(diǎn)的網(wǎng)絡(luò)。

class ResBlock(mn.Node):    def __init__(self, c=None, p='same'):        super().__init__(c)    def build(self, x):        # Tell the ResBlock how it should build itself   c = self._args['c']
        p = 'half' if c is None and self._args['p'] != 'same' else 'same'self.convs = nn.Sequential(mn.Conv(c, p=p), mn.Conv(c, p='same', act=None))        super().build(x)        def forward(self, x):
        res = self.convs(x)        # If downsampling, pad using zerosif x.shape[-1] != res.shape[-1]:
            x = F.avg_pool2d(x, 2, 2, x.shape[2] % 2)
            x = torch.cat([x, torch.zeros(x.shape[0], res.shape[1] - x.shape[1],
                                          x.shape[2], x.shape[3])], dim=1)        return F.relu(res + x)
        
res_layer = lambda n, c=None: nn.Sequential(ResBlock(c, p='half'),*[ResBlock(c) for _ in range(n - 1)])

resnet34 = nn.Sequential(mn.Conv(64, k=7), nn.MaxPool2d(3, 2, 1), 
                         res_layer(3, 64), res_layer(4), res_layer(6), res_layer(3),
                         nn.AvgPool2d(7), mn.Linear(1000, act=None)).eval()

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的

上述內(nèi)容就是基于PyTorch的高級(jí)API封裝MagNet庫(kù)是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI