pytorch中的 .view()函数的用法介绍
更新时间:2022年03月17日 10:53:38 作者:DaYinYi
这篇文章主要介绍了pytorch中的 .view()函数的用法,主要介绍两种方法手动调整size和自动调整size,下面具体方法分析需要的小伙伴可以参考一下
一、普通用法 (手动调整size)
view()相当于reshape、resize,重新调整Tensor的形状。
import torch a1 = torch.arange(0,16) print(a1) # tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
a2 = a1.view(8, 2) a3 = a1.view(2, 8) a4 = a1.view(4, 4) print(a2) #tensor([[ 0, 1], # [ 2, 3], # [ 4, 5], # [ 6, 7], # [ 8, 9], # [10, 11], # [12, 13], # [14, 15]]) print(a3) #tensor([[ 0, 1, 2, 3, 4, 5, 6, 7], # [ 8, 9, 10, 11, 12, 13, 14, 15]]) print(a4) #tensor([[ 0, 1, 2, 3], # [ 4, 5, 6, 7], # [ 8, 9, 10, 11], # [12, 13, 14, 15]])
二、特殊用法:参数-1 (自动调整size)
view中一个参数定为-1,代表自动调整这个维度上的元素个数,以保证元素的总数不变。
v1 = torch.arange(0,16) print(v1) # tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) v2 = v1.view(-1, 16) v2 # tensor([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]]) v2 = v1.view(-1, 8) v2 # tensor([[ 0, 1, 2, 3, 4, 5, 6, 7], # [ 8, 9, 10, 11, 12, 13, 14, 15]]) v2 = v1.view(-1, 4) v2 #tensor([[ 0, 1, 2, 3], # [ 4, 5, 6, 7], # [ 8, 9, 10, 11], # [12, 13, 14, 15]]) v2 = v1.view(-1, 2) v2 #tensor([[ 0, 1], # [ 2, 3], # [ 4, 5], # [ 6, 7], # [ 8, 9], # [10, 11], # [12, 13], # [14, 15]])
v3 = v1.view(4*4, -1) v3 # tensor([[ 0], # [ 1], # [ 2], # [ 3], # [ 4], # [ 5], # [ 6], # [ 7], # [ 8], # [ 9], # [10], # [11], # [12], # [13], # [14], # [15]])
到此这篇关于pytorch中的 .view()函数的用法介绍的文章就介绍到这了,更多相关pytorch .view()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
本文通过详细的理论介绍和简单易懂的实例全面介绍了 Python 代码分析工具 Pylint。相信读者看完后一定可以轻松地将 Pylint 运用到自己的开发工程中2018-04-04python中如何正确使用正则表达式的详细模式(Verbose mode expression)
许多程序设计语言都支持利用正则表达式进行字符串操作,python自然也不例外,下面这篇文章主要给大家介绍了关于在python中如何正确使用正则表达式的详细模式(Verbose mode expression)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。2017-11-11
最新评论