python对自定义函数求导_pytorch中的自定义反向传播,求导实例-程序员宅基地

技术标签: python对自定义函数求导  

更多python教程请到: 菜鸟教程www.piaodoo.com

人人影视www.sfkyty.com

16影视www.591319.com

星辰影院www.591319.com

pytorch中自定义backward()函数。在图像处理过程中,我们有时候会使用自己定义的算法处理图像,这些算法多是基于numpy或者scipy等包。

那么如何将自定义算法的梯度加入到pytorch的计算图中,能使用Loss.backward()操作自动求导并优化呢。下面的代码展示了这个功能`

import torch

import numpy as np

from PIL import Image

from torch.autograd import gradcheck

class Bicubic(torch.autograd.Function):

def basis_function(self, x, a=-1):

x_abs = np.abs(x)

if x_abs < 1 and x_abs >= 0:

y = (a + 2) * np.power(x_abs, 3) - (a + 3) * np.power(x_abs, 2) + 1

elif x_abs > 1 and x_abs < 2:

y = a * np.power(x_abs, 3) - 5 * a * np.power(x_abs, 2) + 8 * a * x_abs - 4 * a

else:

y = 0

return y

def bicubic_interpolate(self,data_in, scale=1

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30899023/article/details/113512049

智能推荐

100G Python从入门到精通全套资料!完整免费送给大家!(0基础到就业)_100g python资源-程序员宅基地

文章浏览阅读854次,点赞3次,收藏2次。一、Python是什么?Python , 是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 已经成为继Java,C++之后的的第三大语言。特点:简单易学、免费开源、高层语言、可移植性强、面向对象、可扩展性、可嵌入型、丰富的库、规范的代码等。 Python强大的生态圈注定它了应用广泛,国内的豆瓣、搜狐、金山、通讯、盛大、网易、百度、阿里、土豆、新浪等,国外:谷歌、NASA、YOUTU、FACEBOOK、红帽等企业都在广泛应用。 Python除了极少的事情不能做之外,其他基本上可以_100g python资源

flowable工作流 流程变量_工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别...-程序员宅基地

文章浏览阅读1.6k次。可以简单认为,variable都是针对processInstance的。local可能是针对某个execution分支的,也可能针对task的。这里就要谈一下变量的作用域,变量肯定是依附于某个流程里的概念而存在的,所以才能在流程流转过程中使用这些变量。默认的变量都是流程实例级别的,也就是说,分支execution和task都可以读取到对应processInstance里的变量。与之相对的就是loc..._setvariableslocal

计算机二本学都有哪些,计算机二本大学有哪些-程序员宅基地

文章浏览阅读622次。类似问题答案计算机软件设计专业好的二本大学有哪些?北京:北京服装学院、中央民族大学北京科技大学、北京印刷学院北方工业大学、北京建筑工程学院 天津:天津美术学院,天津工业大学、天津师范大学、天津科技大学、天津理工大学 河北:河北工业大学、燕山大学、河北理工大学、河北科技大学内蒙古:内蒙古师范大学,内蒙古农业大学 辽宁:鲁迅美术学院,沈阳理工大学、大连工业大学、沈阳建筑大学、辽宁师范大学,沈阳航空工业..._二本学cad设计的学校有哪些

Angular 基础教程(7.0)-程序员宅基地

文章浏览阅读7.1k次,点赞6次,收藏40次。课程亮点按照初学者的学习路线规划内容所有代码均采用 Angular 7.0 版本覆盖日常开发中使用频率最高的特性To B、To C 型界面,移动端 PWA 全面覆盖附赠 3 个附录,对比 5.0、6.0、7.0 版本读者反馈《Angular 初学者快速上手教程》课程发布已有一年,期间收到了很多读者的留言,这里摘录几条,仅供参考。为了不打搅这些朋友,部分采用了匿名。课程背景本..._angular教程

解决Mac无法写入U盘问题_mac没有写入u盘的权限-程序员宅基地

文章浏览阅读5.9k次,点赞3次,收藏2次。U盘和硬盘是我们生活中必不可少的工具,但是对于mac系统我们的ntfs盘,却不被轻易支持。如果遇到mac电脑要写入ntfs文件系统盘,该如何办呢?方法一如果是你不差钱,可以选择安装NTFS for Mac这个软件,终身解决这个问题。费用也不贵,目前是149人民币。方法二修改一下系统的参数,使mac系统支持ntfs文件系统的读写[我的系统是macOS Mojave 10.14.4]1..._mac没有写入u盘的权限

随便推点

如何给开发板设置静态IP_开发板配置多个静态ip-程序员宅基地

文章浏览阅读1.1k次,点赞3次,收藏9次。记录下使用开发板遇到的问题及解决方法_开发板配置多个静态ip

pandas读取文件时有多个不同的分隔符_pandas 分隔符-程序员宅基地

文章浏览阅读1.1w次,点赞12次,收藏34次。pandas读取文件时默认有一个分隔符,可是如果我的数据是这样的有多个分隔符如空格逗号分号等:此时使用:t1 = pd.read_table('test.txt', sep='\s|,|;', names=['c1', 'c2', 'c3', 'c4'])使用参数sep 或 delimiter分隔不同字符通过加上|如果有多个空格的话使用\s+使用参数names设置列名得到结果..._pandas 分隔符

mysql中,截取属型类型是DateTime的日期值示例_mysql group by datetime 截取-程序员宅基地

文章浏览阅读1.3k次。创建表teCREATE TABLE `te` ( `test_id` int(11) NOT NULL AUTO_INCREMENT, `test_time` datetime DEFAULT NULL, PRIMARY KEY (`test_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;向表中插入数据insert into te val..._mysql group by datetime 截取

微信小程序嵌入腾讯视频源-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏25次。今天写小程序时候遇到个坑,就是使用vedio组件时候,一开始没想好,本以为腾讯视频会有类似于优酷之类的提供分享外链功能,结果进去一看,只能复制视频网址,本来想着要么F12获取地址吧,麻烦点就麻烦点,但是复制出来的视频地址里面有一个vkey,这个vkey是动态的,也就是会过期的,过期之后视频链接就无法播放了,这个就有点麻烦,而且也不能每次都去F12吧,毕竟这个视频地址是通过后台发布的,也就是用户去配..._微信小程序嵌入腾讯视频源

max模型怎么导入ue4_UE4模型导入流程,3DMAX贴图丢失问题解决方法-程序员宅基地

文章浏览阅读6.7k次。① 模型设置:1.将Vary材质转成标准材质:2.将模型减面3.加一套UV(虚幻里有两套UV,一套用来反射):Flatiron插件② 输出设置:1,先设置好3DMAX里单位,厘米,如图:alt+u+u打开单位设置2,在3DMAX里,先收集贴图到指定文件夹,最好不要有中文路径,如图:3,查看贴图路径,贴图格式,导出FBX时,要注意修改贴图格式,最好PNG或TGA图片格式,dds格式图片不能导入UE4..._3dmax 导入 ue缺失材质

java -jar 在后台运行和关闭_关闭后台运行的jar-程序员宅基地

文章浏览阅读3.9k次,点赞6次,收藏6次。一、执行程序切换后台执行java -jar xxx.jar & 或者nohup java -jar xxxx.jar &。nohup不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系。ctrl+z退出到控制台,执行 bg执行exit完成以上3步,退出SHELL后,jar服务一直在后台运行。二、结束进程通过执行ps auxwww | grep XXX.jar通过查找进程关键字 找到进程PID。执行kill -9 _关闭后台运行的jar

推荐文章

热门文章

相关标签