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()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中如何正确使用正则表达式的详细模式(Verbose mode expression)

    python中如何正确使用正则表达式的详细模式(Verbose mode expression)

    许多程序设计语言都支持利用正则表达式进行字符串操作,python自然也不例外,下面这篇文章主要给大家介绍了关于在python中如何正确使用正则表达式的详细模式(Verbose mode expression)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • 基于python判断字符串括号是否闭合{}[]()

    基于python判断字符串括号是否闭合{}[]()

    这篇文章主要介绍了基于python判断字符串括号是否闭合{}[](),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python中的数据对象持久化存储模块pickle的使用示例

    Python中的数据对象持久化存储模块pickle的使用示例

    这篇文章主要介绍了Python中的数据对象持久化存储模块pickle的使用示例,重点讲解了pickle中模块中对象持久化和文件读取的相关方法,需要的朋友可以参考下
    2016-03-03
  • python polars数据科学库对比Pandas优势分析

    python polars数据科学库对比Pandas优势分析

    这篇文章主要为大家介绍了python polars数据科学库对比Pandas优势分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python序列对象与String类型内置方法详解

    Python序列对象与String类型内置方法详解

    这篇文章主要介绍了Python序列对象与String类型内置方法,结合实例形式分析了Python序列对象与String类型各种常见内置方法相关使用技巧及操作注意事项,需要的朋友可以参考下
    2019-10-10
  • 如何通过雪花算法用Python实现一个简单的发号器

    如何通过雪花算法用Python实现一个简单的发号器

    这篇文章主要介绍了如何通过雪花算法用Python实现一个简单的发号器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 利用Python实现简单的Excel统计函数

    利用Python实现简单的Excel统计函数

    这篇文章主要介绍了利用Python实现简单的Excel统计函数,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 利用Pycharm断点调试Python程序的方法

    利用Pycharm断点调试Python程序的方法

    今天小编就为大家分享一篇利用Pycharm断点调试Python程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python文本进度条实例

    python文本进度条实例

    这篇文章主要为大家介绍了python文本进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python 可变类型和不可变类型及引用过程解析

    Python 可变类型和不可变类型及引用过程解析

    这篇文章主要介绍了Python 可变类型和不可变类型,以及其引用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论