pytorch 归一化与反归一化实例

yipeiwu_com5年前Python基础

ToTensor中就有转到0-1之间了。

# -*- coding:utf-8 -*-
 
 
import time
 
import torch
 
from torchvision import transforms
 
import cv2
 
transform_val_list = [
  # transforms.Resize(size=(160, 160), interpolation=3), # Image.BICUBIC
  transforms.ToTensor(),
  transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]
 
trans_compose = transforms.Compose(transform_val_list)
 
 
 
if __name__ == '__main__':
  std= [0.229, 0.224, 0.225]
  mean=[0.485, 0.456, 0.406]
  path="d:/2.jpg"
 
  data=cv2.imread(path)
  t1 = time.time()
  x = trans_compose(data)
  x[0]=x[0]*std[0]+mean[0]
  x[1]=x[1]*std[1]+mean[1]
  x[2]=x[2].mul(std[2])+mean[2]
 
  img = x.mul(255).byte()
  img = img.numpy().transpose((1, 2, 0))
  # torch.set_num_threads(3)
  # img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
  cv2.imshow("sdf", img)
  cv2.waitKeyEx()
  

这个测试时间:归一化与反归一化都需要7ms左右,

但是在多路摄像头中,可能比较慢。

 std= [0.229, 0.224, 0.225]
  mean=[0.485, 0.456, 0.406]
  path="d:/2.jpg"
 
  data=cv2.imread(path)
  t1 = time.time()
  start = time.time()
  x = trans_compose(data)
  print("gui", time.time() - start)
  for i in range(10):
    start=time.time()
 
    for i in range(len(mean)):
      # x[i]=x[i]*std[i]+mean[i]
      x[i]=x[i].mul(std[i])+mean[i]
    img = x.mul(255).byte()
    img = img.numpy().transpose((1, 2, 0))
 
    print("fan",time.time()-start)
  # torch.set_num_threads(3)
  # img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
  cv2.imshow("sdf", img)
  cv2.waitKeyEx()

以上这篇pytorch 归一化与反归一化实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python for和else语句趣谈

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。”当晚,程序员老公手捧一个包子进了家门……老婆怒道:“你怎么就买了一个包子?”老公答曰:“因为看到了卖...

使用Python生成随机密码的示例分享

生成随机密码这件事情用python来干确实相当的方便,优美的string方法加上choice简直是绝配 make_password.py ###简单几行代码执行即可生成记不住的字符...

Django视图扩展类知识点详解

扩展类必须配合GenericAPIView使用扩展类内部的方法,在调用序列化器时,都是使用get_serializer 需要自定义get、post等请求方法,内部实现调用扩展类对应方法即...

Python程序退出方式小结

Python程序退出方式小结

对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下。 参考...

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

一、安装Pyinstaller 环境:python3.6、window10 注意事项: python64位版本打包的exe,只能在64位操作系统使用 打包文件夹和文件的名称不能用中文 p...