Pytorch 之修改Tensor部分值方式

yipeiwu_com5年前Python基础

一:背景引入

对于一张图片,怎样修改局部像素值?

二:利用Tensor方法

比如输入全零tensor,可认为为黑色图片

>>> n=torch.FloatTensor(3,3,4).fill_(0)
>>> n
    tensor([[[0., 0., 0., 0.], 
         [0., 0., 0., 0.],                          
         [0., 0., 0., 0.]], 
         
         [[0., 0., 0., 0.], 
         [0., 0., 0., 0.],
         [0., 0., 0., 0.]], 
 
         [[0., 0., 0., 0.], 
         [0., 0., 0., 0.],
         [0., 0., 0., 0.]]])     

现在修改部分值:

>>> n[:,0:2,1:3]=1

结果为

>>> n
    tensor([[[0., 1., 1., 0.], 
         [0., 1., 1., 0.],                          
         [0., 0., 0., 0.]], 
         
         [[0., 1., 1., 0.], 
         [0., 1., 1., 0.],
         [0., 0., 0., 0.]], 
 
         [[0., 1., 1., 0.], 
         [0., 1., 1., 0.],
         [0., 0., 0., 0.]]]) 

可以看到利用切片的思想可以修改tensor中的部分值。这样修改后,黑色图片上就会有白色的小洞洞,因为在tensor中,1代表是白色,RGB中的255。

以上这篇Pytorch 之修改Tensor部分值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 模拟动态产生字母验证码图片功能

Python 模拟动态产生字母验证码图片功能

模拟动态产生字母验证码图片 模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理。这里介绍一下 Python 提供的 Pillow 模块。 Pillow PIL:Pytho...

python实现的解析crontab配置文件代码

#/usr/bin/env python #-*- coding:utf-8 -*- """ 1.解析 crontab 配置文件中的五个数间参数(分 时 日 月 周),获取他们对...

获取python的list中含有重复值的index方法

关于怎么获得,我想其实网上有很多答案。 list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样每次获得的都是第一个值的位置。 那么怎么去解...

Python字符串格式化的方法(两种)

本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优。 字符串格式化有两种方式:百分号方式、format方式。 百分号方式比较老,而for...

Python标准库urllib2的一些使用细节总结

Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 的使用细...