【Python/Pytorch - 网络模型】-- TV Loss损失函数

在这里插入图片描述

文章目录

文章目录

  • 00 写在前面
  • 01 基于Pytorch版本的TV Loss代码
  • 02 论文下载

00 写在前面

在医学图像重建过程中,经常在代价方程中加入TV 正则项,该正则项作为去噪项,对于重建可以起到很大帮助作用。但是对于一些纹理细节要求较高的任务,加入TV 正则项,在一定程度上可能会降低纹理细节。

对于连续函数,其表达式为:
在这里插入图片描述

对于图片而言,即为离散的数值,求每一个像素和横向下一个像素的差的平方,加上纵向下一个像素的差的平方,再开β/2次根:
在这里插入图片描述

01 基于Pytorch版本的TV Loss代码

import torch
from torch.autograd import Variableclass TVLoss(torch.nn.Module):"""TV loss"""def __init__(self, weight=1):super(TVLoss, self).__init__()self.weight = weightdef forward(self, x):batch_size = x.size()[0]h_x = x.size()[2]w_x = x.size()[3]count_h = self._tensor_size(x[:, :, 1:, :])count_w = self._tensor_size(x[:, :, :, 1:])h_tv = torch.pow((x[:, :, 1:, :] - x[:, :, :h_x - 1, :]), 2).sum()w_tv = torch.pow((x[:, :, :, 1:] - x[:, :, :, :w_x - 1]), 2).sum()return self.weight * 2 * (h_tv / count_h + w_tv / count_w) / batch_sizedef _tensor_size(self, t):return t.size()[1] * t.size()[2] * t.size()[3]if __name__ == "__main__":x = Variable(torch.FloatTensor([[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]]]).view(1, 2, 3, 3),requires_grad=True)tv = TVLoss()result = tv(x)print(result)

02 论文下载

Understanding Deep Image Representations by Inverting Them

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

期权无风险套利(Risk-Free Arbitrage)举例以及期权无套利定价公式

期权市场的无风险套利 中文版 期权市场中的套利实例 为了清楚地说明,让我们通过一个现实的例子来展示套利。 期权市场中的套利实例 假设市场上有以下价格: 标的股票价格:100美元欧式看涨期权(行权价100美元,3个月…

MySQL 保姆级教程(六):用通配符进行过滤

第 8 章 用通配符进行过滤 8.1 LIKE 操作符 通配符: 用来匹配值的一部分的特殊字符 搜索模式: 由字面值、通配符或两者组合构成的搜索条件 为了在搜索子句中使用通配符,必须使用 LIKE 操作符 8.1.1 百分号(%)通配符 输入: SELECT server_…

MongoDB~分片数据存储Chunk;其迁移原理、影响,以及避免手段

分片数据存储:Chunk存储 Chunk(块) 是 MongoDB 分片集群的一个核心概念,其本质上就是由一组 Document 组成的逻辑数据单元。每个 Chunk 包含一定范围片键的数据,互不相交且并集为全部数据。 分片集群不会记录每条数据…

Python 基础:类

目录 一、类的概念二、定义类三、创建对象并进行访问四、修改属性的值方法一:句点表示法直接访问并修改方法二:通过方法进行修改 五、继承继承父类属性和方法重写父类方法 六、将实例用作属性七、导入类导入单个类从一个模块中导入多个类导入整个模块导入…

C语言的基本输入输出函数+构造类型数据——数组

C语言的基本输入输出函数 1. 字符输入输出函数 getchar()、putchar() getchar():从标准输入(通常是键盘)读取一个字符,并返回其ASCII值。putchar():将指定的字符(由其ASCII值表示)写入标准输出…

Java Stream流 takeWhile,dropWhile

一. takeWhile 顺序返回符合条件的值,一旦条件不符合立即停止继续判断在元素5之后,虽然还有 < 5 的数据,但是不会作为条件进行判断 // 创建一个Stream流 Stream<Integer> streamNum1 Stream.of(2, 3, 4, 5, 6, 1, 1, 3);List<Integer> numList1 streamNum1.…

10_Transformer预热---注意力机制(Attention)

1.1 什么是注意力机制(attention) 注意力机制&#xff08;Attention Mechanism&#xff09;是一种在神经网络中用于增强模型处理特定输入特征的能力的技术。它最早被应用于自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;特别是在机器翻译中&#xff0c;如Google的…

python14 字典类型

字典类型 键值对方式&#xff0c;可变数据类型&#xff0c;所以有增删改功能 声明方式1 {} 大括号&#xff0c;示例 d {key1 : value1, key2 : value2, key3 : value3 ....} 声明方式2 使用内置函数 dict() 创建1)通过映射函数创建字典zip(list1,list2) 继承了序列的所有操作 …

Linux基础I/O之文件描述符fd 重定向(上)

目录 一、预备知识 二、C语言中的文件接口 三、系统调用中的文件接口 一、预备知识 首先我们要明确的一个观点是 --- 文件 内容 属性。而且我们之前也还将过一个概念&#xff0c;那就是Linux下一切皆文件。 内容是数据&#xff0c;属性也是数据 --- 那么也就是说我…

使用STL算法函数有效提升STL列表的搜索速度(附源码)

STL(Standard Templete Library)活动模板库已被广泛地应用于各种C++程序的开发中,STL中vector、list、map等列表极大地方便了我们日常的开发,不再需要我们去实现链表等数据结构,使用这些列表能基本能解决开发过程中遇到的各种问题。网上关于STL的文章比较多,今天我们就来…

代码随想录——组合总和Ⅱ(Leetcode 40)需要回顾

题目链接 回溯 本题的难点在于&#xff1a;集合&#xff08;数组candidates&#xff09;有重复元素&#xff0c;但还不能有重复的组合。 思想&#xff1a;元素在同一个组合内是可以重复的&#xff0c;怎么重复都没事&#xff0c;但两个组合不能相同。所以要去重的是同一树…

统计套利—配对交易策略

配对交易是一种基于统计学的交易策略&#xff0c;通过两只股票的差价来获取收益&#xff0c;因而与很多策略不同&#xff0c;它是一种中性策略&#xff0c;理论上可以做到和大盘走势完全无关。 配对交易的基本原理是&#xff0c;两个相似公司的股票&#xff0c;其股价走势虽然在…

SpringSecurity(JWT、SecurityConfig、Redis)

可能会报错Last unit does not have enough valid bits 把jwtUtils的KEY改成偶数位 主要用于校验&#xff0c;授权 导入依赖 <dependency) <groupId>org.springframework. boot</groupId> <artifactId>spring-boot-starter-security</artifactId) <…

[Linux] TCP协议介绍(3): TCP协议的“四次挥手“过程、状态分析...

TCP协议是面向连接的 上一篇文章简单分析了TCP通信非常重要的建立连接的"三次握手"的过程 本篇文章来分析TCP通信中同样非常重要的断开连接的"四次挥手"的过程 TCP的"四次挥手" TCP协议建立连接 需要"三次握手". "三次挥手&q…

基于STM32和人工智能的自动驾驶小车系统

目录 引言环境准备自动驾驶小车系统基础代码实现&#xff1a;实现自动驾驶小车系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景&#xff1a;自动驾驶应用与优化问题解决方案与优化收尾与总结 1. 引言 随着人工智能和嵌入式系统技术的…

稀疏矩阵是什么 如何求

稀疏矩阵是一种特殊类型的矩阵&#xff0c;其中大多数元素都是零。由于稀疏矩阵中非零元素的数量远少于零元素&#xff0c;因此可以使用特定的数据结构和算法来高效地存储和处理它们&#xff0c;从而节省存储空间和计算时间。 RowPtr 数组中的每个元素表示对应行的第一个非零元…

变压器纵联差动保护的Simulink仿真

利用Simulink在变压器空载合闸励磁涌流的仿真模型的基础上将变压器改为采用Yd11联结且不考虑饱和特性,增加外部故障模块Fault2,得到新的仿真模型如图1所示。 图1 变压器的Simulink仿真模型 在建立模型时,请注意三相电压电流测量模块Um,UN的方向。比率制动特性纵差保护…

Docker 镜像****后,如何给Ubuntu手动安装 docker 服务

Docker 镜像****后&#xff0c;如何给Ubuntu手动安装 docker 服务 下载地址下载自己需要的安装包使用下面的命令进行安装启动服务 最近由于某些未知原因&#xff0c;国内的docker镜像全部被停。刚好需要重新安装自己的笔记本为双系统&#xff0c;在原来的Windows下&#xff0c;…

目标检测算法SSD与FasterRCNN

目标检测算法SSD与FasterRCNN SSD:&#xff08; Single Shot MultiBox Detector&#xff09;特点是在不同特征尺度上预测不同尺度的目标。 SSD网络结构 首先对网络的特征进行说明&#xff1a;输入的图像是300x300的三通道彩色图像。 网络的第一个部分贯穿到Vgg16模型 Conv5的…

工厂方法模式实战之某商场一次促销活动

目录 1.5.1、前言1.5.2、实战场景简介1.5.3、开发环境1.5.4、用传统的if-else语句实现1.5.4.1、工程结构1.5.4.2、if-else需求实现1.5.4.3、测试验证 1.5.5、工厂模式优化代码1.5.5.1、工程结构1.5.5.2、代码实现1.5.5.2.1、定义各种商品发放接口及接口实现1.5.5.2.2、定义工厂…