最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch自定義二值化網(wǎng)絡層方式

 更新時間:2020年01月07日 13:44:24   作者:ChLee98  
今天小編就為大家分享一篇pytorch自定義二值化網(wǎng)絡層方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

任務要求:

自定義一個層主要是定義該層的實現(xiàn)函數(shù),只需要重載Function的forward和backward函數(shù)即可,如下:

import torch
from torch.autograd import Function
from torch.autograd import Variable

定義二值化函數(shù)

class BinarizedF(Function):
  def forward(self, input):
    self.save_for_backward(input)
    a = torch.ones_like(input)
    b = -torch.ones_like(input)
    output = torch.where(input>=0,a,b)
    return output
  def backward(self, output_grad):
    input, = self.saved_tensors
    input_abs = torch.abs(input)
    ones = torch.ones_like(input)
    zeros = torch.zeros_like(input)
    input_grad = torch.where(input_abs<=1,ones, zeros)
    return input_grad

定義一個module

class BinarizedModule(nn.Module):
  def __init__(self):
    super(BinarizedModule, self).__init__()
    self.BF = BinarizedF()
  def forward(self,input):
    print(input.shape)
    output =self.BF(input)
    return output

進行測試

a = Variable(torch.randn(4,480,640), requires_grad=True)
output = BinarizedModule()(a)
output.backward(torch.ones(a.size()))
print(a)
print(a.grad)

其中, 二值化函數(shù)部分也可以按照方式寫,但是速度慢了0.05s

class BinarizedF(Function):
  def forward(self, input):
    self.save_for_backward(input)
    output = torch.ones_like(input)
    output[input<0] = -1
    return output
  def backward(self, output_grad):
    input, = self.saved_tensors
    input_grad = output_grad.clone()
    input_abs = torch.abs(input)
    input_grad[input_abs>1] = 0
    return input_grad

以上這篇pytorch自定義二值化網(wǎng)絡層方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python安裝及建立虛擬環(huán)境的完整步驟

    Python安裝及建立虛擬環(huán)境的完整步驟

    在使用 Python 開發(fā)時,建議在開發(fā)環(huán)境和生產環(huán)境下都使用虛擬環(huán)境來管理項目的依賴,下面這篇文章主要給大家介紹了關于Python安裝及建立虛擬環(huán)境的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python文件夾與文件的相關操作(推薦)

    Python文件夾與文件的相關操作(推薦)

    下面小編就為大家?guī)硪黄狿ython文件夾與文件的相關操作(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Python實現(xiàn)深度遍歷和廣度遍歷的方法

    Python實現(xiàn)深度遍歷和廣度遍歷的方法

    今天小編就為大家分享一篇Python實現(xiàn)深度遍歷和廣度遍歷的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 解決Python print 輸出文本顯示 gbk 編碼錯誤問題

    解決Python print 輸出文本顯示 gbk 編碼錯誤問題

    這篇文章主要介紹了解決Python print 輸出文本顯示 gbk 編碼錯誤問題,本文給出了三種解決方法,需要的朋友可以參考下
    2018-07-07
  • Django 1.10以上版本 url 配置注意事項詳解

    Django 1.10以上版本 url 配置注意事項詳解

    這篇文章主要介紹了Django 1.10以上版本 url 配置注意事項詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • LeetCode百錢買百雞python遞歸解法示例

    LeetCode百錢買百雞python遞歸解法示例

    這篇文章主要為大家介紹了LeetCode百錢買百雞題目python遞歸解法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • pycharm遠程連接服務器運行pytorch的過程詳解

    pycharm遠程連接服務器運行pytorch的過程詳解

    這篇文章主要介紹了在Linux環(huán)境下使用Anaconda管理不同版本的Python環(huán)境,并通過PyCharm遠程連接服務器來運行PyTorch的過程,包括安裝PyTorch、CUDA以及配置PyCharm遠程開發(fā)環(huán)境的詳細步驟,需要的朋友可以參考下
    2025-02-02
  • Python中__init__.py文件的作用

    Python中__init__.py文件的作用

    這篇文章主要介紹了Python中__init__.py文件的作用,在PyCharm中,帶有__init__.py這個文件的目錄被認為是Python的包目錄,與普通目錄的圖標有不一樣的顯示
    2022-09-09
  • YOLOv5中SPP/SPPF結構源碼詳析(內含注釋分析)

    YOLOv5中SPP/SPPF結構源碼詳析(內含注釋分析)

    其實關于YOLOv5的網(wǎng)絡結構其實網(wǎng)上相關的講解已經(jīng)有很多了,但是覺著還是有必要再給大家介紹下,下面這篇文章主要給大家介紹了關于YOLOv5中SPP/SPPF結構源碼的相關資料,需要的朋友可以參考下
    2022-05-05
  • python turtle工具繪制四葉草的實例分享

    python turtle工具繪制四葉草的實例分享

    在本篇文章里小編給各位整理的是關于python turtle工具繪制四葉草的實例分享,有興趣的朋友們可以跟著學習下。
    2020-02-02

最新評論

富阳市| 绥芬河市| 瑞安市| 广安市| 梅州市| 南宫市| 阿克陶县| 房产| 丹棱县| 福州市| 兴和县| 肃南| 桓台县| 界首市| 浪卡子县| 天全县| 瓦房店市| 叶城县| 彭泽县| 宝兴县| 搜索| 奉新县| 蕉岭县| 陆河县| 定安县| 永福县| 丹江口市| 夏河县| 金阳县| 阳谷县| 左贡县| 运城市| 呼伦贝尔市| 普兰店市| 友谊县| 石狮市| 集贤县| 社会| 西吉县| 陆河县| 横山县|