当前位置: 首页 > news >正文

网站开发工具蜡笔小新网站开发页面设计报告

网站开发工具蜡笔小新,网站开发页面设计报告,进行网站建设的上市公司,深圳网站建设公司平台1--前言 博主在处理图片尺度问题时,习惯使用 cv2.resize() 函数;但当图片数据需用显卡加速运算时,数据需要在 GPU 和 CPU 之间不断迁移,导致程序运行效率降低; Pytorch 提供了一个类似于 cv2.resize() 的采样函数&…

1--前言

        博主在处理图片尺度问题时,习惯使用 cv2.resize() 函数;但当图片数据需用显卡加速运算时,数据需要在 GPU 和 CPU 之间不断迁移,导致程序运行效率降低;

        Pytorch 提供了一个类似于 cv2.resize() 的采样函数,即 torch.nn.functional.interpolate(),支持最近邻插值(nearest)和双线性插值(bilinear)等功能,通过设置合理的插值方式可以取得与 cv2.resize() 函数完全一样的效果。

2--代码测试

        ① 最近邻方法('nearnest' 和 cv2.INTER_NEAREST):

import torch
import cv2
import torch.nn.functional as F
import numpy as npinput_data1 = torch.randint(low = 0, high = 255, size = [40, 40, 3])
input_data2 = np.array(input_data1, dtype = np.uint8)input_data1 = input_data1.permute(2, 0, 1).unsqueeze(0).float() # [1, 3, 40, 40]
output_data1 = F.interpolate(input_data1, size = (224, 224), mode='nearest').float() # [1, 3, 224, 224]
output_data2 = cv2.resize(input_data2, dsize = (224, 224), interpolation=cv2.INTER_NEAREST) # [224, 224, 3]data1 = np.array(output_data1.squeeze(0).permute(1, 2, 0), dtype=np.uint8)
data2 = np.array(output_data2, dtype=np.uint8)print(data1 == data2)print("All done !")

        ② 双线性插值方法('bilinear' 和 cv2.INTER_LINEAR):

import torch
import cv2
import torch.nn.functional as F
import numpy as npinput_data1 = torch.randint(low = 0, high = 255, size = [40, 40, 3])
input_data2 = np.array(input_data1, dtype = np.uint8)input_data1 = input_data1.permute(2, 0, 1).unsqueeze(0).float() # [1, 3, 40, 40]
output_data1 = F.interpolate(input_data1, size = (224, 224), mode='bilinear').float() # [1, 3, 224, 224]
output_data2 = cv2.resize(input_data2, dsize = (224, 224), interpolation=cv2.INTER_LINEAR) # [224, 224, 3]data1 = np.array(output_data1.squeeze(0).permute(1, 2, 0), dtype=np.uint8)
data2 = np.array(output_data2, dtype=np.uint8)print(data1 == data2)print("All done !")

上面两个测试代码的结果表明,在采取相同插值方式的前提下,torch.nn.functional.interpolate() 和 cv2.resize() 两个方法的功能是完全等价的,处理后的数据相同;

3--相关补充

        ① 使用 torch.nn.functional.interpolate()的注意事项:

1. 插值方法(mode)与输入数据的维度(minibatch, channels, [optional depth], [optional height], width)密切相关,目前支持的数据维度有以下几种:

        ① 3D张量输入:minibatch, channels, width;

        ② 4D张量输入:minibatch, channels, height, width;

        ③ 5D张量输入:minibatch, channels, depth, height, width;

2. 插值方法和输入维度的关系如下:

http://www.yayakq.cn/news/596475/

相关文章:

  • 上海推广网站手机网站用模版
  • 南京淘宝网站设计公司微网站建设合同
  • 百度站长平台网页版云南企业
  • 太原手机网站设计知乎网站建设
  • 视频网站建设教程建筑工程网课心得体会
  • 营销网站建设规划方案如何做网站 百度经验
  • 网站上线注意北京网站优化体验
  • 做闪图的网站织梦手机网站模板
  • 个人虚拟网站梦幻建站网
  • 重庆网站设计案例wordpress后台登入地址
  • 做淘客网站要备案1688阿里巴巴官网
  • jsp网站开发的环境配置百度浏览器官方网站
  • 巨野做网站WordPress无法取消置顶文章
  • 青岛城乡建设部网站首页手把手教建设网站
  • 注册域名之后怎么使用网站优化快速排名软件
  • 开发网站多少钱网页制作入门与进阶
  • 阿里云网站建设——部署与发布营销网站seo推广费用
  • 做店铺装修的公司网站广州住建部官网
  • 南充市房地产网官方网站腾讯企业网站建设
  • 市建设局网站做外单网站亚马逊
  • 公司网站制作的方法淘宝网首页登录注册
  • 遂宁住房和城乡建设厅网站网站建设小结
  • 用网站模板给人做网站挣钱吗域名备案时网站名称
  • 杭州杭州网站建设公司wordpress seo免费主题
  • wordpress网站流量统计插件下载了源码怎么做网站
  • 零壹网站建设wordpress 页面上显示文章
  • 做网站seo怎么赚钱手机网站建设价钱是多少
  • 网站开发合同范本 doc建设工程造价网站
  • 制造网站建设哪家好互联网创业项目平台
  • 网站免费建建筑工程网上联合报审