浅谈pytorch和Numpy的区别以及相互转换方法

yipeiwu_com7年前Python基础

如下所示:

# -*- coding: utf-8 -*-
# @Time  : 2018/1/17 16:37
# @Author : Zhiwei Zhong
# @Site  : 
# @File  : Numpy_Pytorch.py
# @Software: PyCharm

import torch
import numpy as np

np_data = np.arange(6).reshape((2, 3))

# numpy 转为 pytorch格式

torch_data = torch.from_numpy(np_data)
print(
  '\n numpy', np_data,
  '\n torch', torch_data,
)
'''
 numpy [[0 1 2]
 [3 4 5]] 
 torch 
 0 1 2
 3 4 5
[torch.LongTensor of size 2x3]
'''
# torch 转为numpy
tensor2array = torch_data.numpy()
print(tensor2array)
"""
[[0 1 2]
 [3 4 5]]
"""
# 运算符
# abs 、 add 、和numpy类似
data = [[1, 2], [3, 4]]
tensor = torch.FloatTensor(data)    # 转为32位浮点数,torch接受的都是Tensor的形式,所以运算前先转化为Tensor
print(
  '\n numpy', np.matmul(data, data),
  '\n torch', torch.mm(tensor, tensor)    # torch.dot()是点乘
)
'''
 numpy [[ 7 10]
 [15 22]] 
 torch 
 7 10
 15 22
[torch.FloatTensor of size 2x2]
'''

以上这篇浅谈pytorch和Numpy的区别以及相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python判断两个list是否是父子集关系的实例

list1 和list2 两个list , 想要得到list1是不是包含 list2 (是不是其子集 ) a = [1,2] b = [1,2,3] c = [0, 1]...

python的scipy实现插值的示例代码

python的scipy实现插值的示例代码

插值对于一些时间序列的问题可能比较有用。 Show the code directly: import numpy as np from matplotlib import pypl...

python 专题九 Mysql数据库编程基础知识

python 专题九 Mysql数据库编程基础知识

在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的;同时在WAMP(Windows、Apache、MySQL、PHP或Python)开发网站中,也可以...

Python3内置模块之base64编解码方法详解

Python3内置模块之base64编解码方法详解

概述 Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC20...

浅谈Python由__dict__和dir()引发的一些思考

关于__dict__和dir()的区别和作用请参考这篇文章: 基于Python __dict__与dir()的区别详解 说下我当时遇到的问题: class Demo: def _...