成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

pytorch動態(tài)網(wǎng)絡以及權(quán)重共享實例-創(chuàng)新互聯(lián)

pytorch 動態(tài)網(wǎng)絡+權(quán)值共享

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、雅安服務器托管、營銷軟件、網(wǎng)站建設、江永網(wǎng)站維護、網(wǎng)站推廣。

pytorch以動態(tài)圖著稱,下面以一個栗子來實現(xiàn)動態(tài)網(wǎng)絡和權(quán)值共享技術(shù):

# -*- coding: utf-8 -*-
import random
import torch


class DynamicNet(torch.nn.Module):
  def __init__(self, D_in, H, D_out):
    """
    這里構(gòu)造了幾個向前傳播過程中用到的線性函數(shù)
    """
    super(DynamicNet, self).__init__()
    self.input_linear = torch.nn.Linear(D_in, H)
    self.middle_linear = torch.nn.Linear(H, H)
    self.output_linear = torch.nn.Linear(H, D_out)

  def forward(self, x):
    """
    For the forward pass of the model, we randomly choose either 0, 1, 2, or 3
    and reuse the middle_linear Module that many times to compute hidden layer
    representations.

    Since each forward pass builds a dynamic computation graph, we can use normal
    Python control-flow operators like loops or conditional statements when
    defining the forward pass of the model.

    Here we also see that it is perfectly safe to reuse the same Module many
    times when defining a computational graph. This is a big improvement from Lua
    Torch, where each Module could be used only once.
    這里中間層每次向前過程中都是隨機添加0-3層,而且中間層都是使用的同一個線性層,這樣計算時,權(quán)值也是用的同一個。
    """
    h_relu = self.input_linear(x).clamp(min=0)
    for _ in range(random.randint(0, 3)):
      h_relu = self.middle_linear(h_relu).clamp(min=0)
    y_pred = self.output_linear(h_relu)
    return y_pred


    # N is batch size; D_in is input dimension;
    # H is hidden dimension; D_out is output dimension.
    N, D_in, H, D_out = 64, 1000, 100, 10

    # Create random Tensors to hold inputs and outputs
    x = torch.randn(N, D_in)
    y = torch.randn(N, D_out)

    # Construct our model by instantiating the class defined above
    model = DynamicNet(D_in, H, D_out)

    # Construct our loss function and an Optimizer. Training this strange model with
    # vanilla stochastic gradient descent is tough, so we use momentum
    criterion = torch.nn.MSELoss(reduction='sum')
    optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, momentum=0.9)
    for t in range(500):
      # Forward pass: Compute predicted y by passing x to the model
      y_pred = model(x)

      # Compute and print loss
      loss = criterion(y_pred, y)
      print(t, loss.item())

      # Zero gradients, perform a backward pass, and update the weights.
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()

當前標題:pytorch動態(tài)網(wǎng)絡以及權(quán)重共享實例-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://jinyejixie.com/article6/ddegig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、網(wǎng)站收錄、電子商務、品牌網(wǎng)站制作標簽優(yōu)化、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
庄河市| 陆丰市| 饶河县| 宝坻区| 瑞金市| 越西县| 台湾省| 库伦旗| 顺昌县| 信宜市| 合水县| 微博| 盐边县| 扶风县| SHOW| 阿图什市| 阿图什市| 玉树县| 垫江县| 遂川县| 平阳县| 江源县| 共和县| 江西省| 时尚| 临朐县| 延川县| 汶上县| 波密县| 枣强县| 黎川县| 雷波县| 措美县| 兰西县| 三门峡市| 论坛| 盐山县| 永泰县| 临汾市| 金寨县| 盱眙县|