切图训练和推理拼接

def split_patch_detect(rgb_noisy):   # 输入经过以上代码补0后尺寸为[1,3,4096,4096]number_h = rgb_noisy.shape[2] // 512    # number_w = rgb_noisy.shape[3] // 512    #patch_sequence = []  #定义一个集合存放patchfor h in range(number_h):for w in range(number_w):image_patch = rgb_noisy[:,:,(h * 512):(h * 512 + 512),(w * 512):(w * 512 + 512)]patche_sequence.append(image_patch)predict_sequence=[]# 对每个patch分别推理for image in patch_sequence:predict = model_restoration(image)predict_sequence.append(predict)# 将预测后的图像块再拼接起来count = 0initial_patch = torch.ones(1,3,rgb_noisy.shape[2], rgb_noisy.shape[3]])for h in range(number_h):for w in range(number_w):initial_patch[h * 512:(h + 1) * 512,w * 512:(w + 1) * 512] = predict_sequence[count]count += 1return initial_patch

数据增强

def augment(l, hflip=True, rot=True):hflip = hflip and random.random() < 0.5vflip = rot and random.random() < 0.5rot90 = rot and random.random() < 0.5def _augment(img):if hflip: img = img[:, ::-1, :]if vflip: img = img[::-1, :, :]if rot90: img = img.transpose(1, 0, 2)return imgreturn [_augment(_l) for _l in l]

通道变换

def set_channel(l, n_channel):def _set_channel(img):if img.ndim == 2:img = np.expand_dims(img, axis=2)c = img.shape[2]if n_channel == 1 and c == 3:img = np.expand_dims(sc.rgb2ycbcr(img)[:, :, 0], 2)elif n_channel == 3 and c == 1:img = np.concatenate([img] * n_channel, 2)return imgreturn [_set_channel(_l) for _l in l]

图像后缀判断

def is_image_file(filename):return any(filename.endswith(extension) for extension in [".bmp", ".png", ".jpg"])

单通道转三通道彩色

def generate_heatmap(attention_maps, size):attention_maps = F.interpolate(attention_maps, size, mode='bilinear',align_corners=True)attention_maps = torch.sqrt(attention_maps.cpu() / attention_maps.max().item())heat_attention_maps = []# 由单通道生成三通道heat_attention_maps.append(attention_maps[:, 0, ...])  # Rheat_attention_maps.append(attention_maps[:, 0, ...] * (attention_maps[:, 0, ...] < 0.5).float() +(1. - attention_maps[:, 0, ...]) * (attention_maps[:, 0, ...] >= 0.5).float())  # Gheat_attention_maps.append(1. - attention_maps[:, 0, ...])  # Breturn torch.stack(heat_attention_maps, dim=1)
    def vis_results(self, epoch, i, images):for j in range(min(images[0].size(0), 5)):save_name = os.path.join(self.args.vis_save_dir, 'vis_%d_%d_%d.jpg' % (epoch, i, j))temps = []for imgs in images:temps.append(imgs[j])temps = torch.stack(temps)B = temps[:, 0:1, :, :]G = temps[:, 1:2, :, :]R = temps[:, 2:3, :, :]temps = torch.cat([R, G, B], dim=1)torchvision.utils.save_image(temps, save_name)

Python酷炫模块相关推荐

  1. python 酷炫效果_六种酷炫Python运行进度条效果的实现代码

    六种酷炫Python运行进度条效果的实现代码,进度条,代码,六种,效果,酷炫 六种酷炫Python运行进度条效果的实现代码 易采站长站,站长之家为您整理了六种酷炫Python运行进度条效果的实现代码的 ...

  2. 数据科学 | Python酷炫词云图原来可以这么玩

    ↑↑↑↑↑点击上方蓝色字关注我们! 『运筹OR帷幄』转载 作者:费弗里 编者按 词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中的高频词.词云图过滤掉大量的低频低质的文 ...

  3. Python酷炫毕业论文案例,对全国大学数据进行可视化分析

    前言 1.导入模块 2.不同省份大学数量 3.统计省份对应不同市大学数量 4.985.211以及双一流 5.公或民办类型数量 6.本或专科数量 7.全国不同大学隶属情况 全国所有大学的数据信息(包括专 ...

  4. python酷炫图形代码_牛批了,1 行 Python 代码就可实现炫酷可视化

    之前画图一直在用 matlibplot.pyecharts,最近学习了一个新的可视化库--cufflinks,用了两天我已经深深爱上它了 主要是因为它用法简单.图形漂亮.代码量少,用一两行代码,就能画 ...

  5. python画创意图形_用Python制作酷炫图形之如意金箍棒_颜色增加模块应用

    如何简单地用Python编程绘制酷炫的图形呢?通常初入门者用Python的海龟画图模块绘制图形.我们只要导入海龟模块,就像下面这样,然后让海龟前进,就能画一个"一"字图形了. im ...

  6. 给Python代码加上酷炫进度条的几种姿势

    作者 | 刘早起 来源 | 早起Python(ID: zaoqi-python) 大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用pri ...

  7. 就是这么牛逼,利用Python绘制炫酷专业插图就是这么简单

    强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图.能够保 ...

  8. python 词云 fontpath_Python酷炫词云图原来可以这么玩?

    作者:费弗里 博客地址: https://www.cnblogs.com/feffery/p/11842798.html 说明:本文经作者授权转载,禁止二次转载 本文对应脚本及数据已上传至我的Gith ...

  9. 教你用Python绘制炫酷专业插图

    前言 强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图. ...

最新文章

  1. The only supported ciphers are AES-128-CBC and AES-256-CBC
  2. css中对position的几种定位方式的最佳诠释
  3. 学好Java的八个条件
  4. ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (download
  5. Java 并发编程小册整理好了
  6. vForum 2011 Beijing现场图文播报三 动手实验营
  7. swing point 怎么让x 不变_Swing舞出我人生 Vol.02 / 我的人生分为跳舞之前和跳舞之后...
  8. MongoDB数据库(二):增删查改
  9. SQLServer2008将表数据导出的方法
  10. UITableViewCell不重用代码
  11. SQL Server 2014新特性探秘(1):内存数据库
  12. 摩游世纪CEO宋啸飞:Html5增长趋势已可见
  13. 私藏很久的几个优质技术公众号
  14. 基于物联网技术的校园智慧消防管理平台-Susie 周
  15. 软件设计师----计算机网络
  16. python打字机效果_打字效果动画的4种实现方法(超简单)
  17. 网络爬虫DIY解决电商数据收集难题
  18. 浏览器推荐-以Windows操作系统为例
  19. 类别不均衡问题之loss大集合:focal loss, GHM loss, dice loss 等等
  20. java8和java9的对比

热门文章

  1. 配置开源安卓QQ协议库Mirai
  2. P31 multi-threading 多线程 P32 multiprocessing 多核 P33 tkinter
  3. Oracle主机down机问题分析
  4. php代码隐写到图片,从PNG Dropper到Alpha通道隐写术实践
  5. OSChina 周日乱弹 ——程序员的世界,医疗都与众不同
  6. 年薪30W,BAT抢着要,懂面试技巧的测试人究竟多吃香?
  7. mysql 统计请假天数_php统计员工请假天数,最好能有代码说明
  8. 学习使用SwiftUI开发MacOS应用 - 第1节 如何创建SwiftUI 应用并实现窗口交互
  9. js面向对象--封装
  10. BakAndImgCD 24.0发布:轻松备份和克隆磁盘驱动器