基于Pytorch学习

一、Pytorch简介

        PyTorch是一个由Facebook的人工智能研究团队(FAIR)开发的开源深度学习框架。它提供了一个动态、可扩展且易于使用的深度学习平台,广受科研人员和工程师的欢迎。PyTorch的设计哲学强调易读性、简洁性以及开发者的友好性,它使用Python语言编写,并与Python的生态系统无缝集成,这使得它可以被广泛应用在研究项目和生产环境中。

二、环境安装

2.1在anaconda新建一个虚拟环境

conda creat -n torch39 python=3.9
conda activate torch39

2.2安装pytorch-cpu版本

pip install torch=2.1.0

2.3pycharm配置环境

三、张量的基本使用

3.1张量的介绍

张量是深度学习框架PyTorch中的核心数据结构,类似于NumPy中的多维数组。在PyTorch中,张量是所有计算的基础,可以用来表示和计算多维数组的数据。张量的概念来源于线性代数,但它已经被扩展到了多维数组,可以用来表示图像、音频、文本等各种类型的数据。

0维张量:将标量转化为张量得到的就是0维张量;

1维张量:将向量转化为张量得到的就是1维张量;

2维张量:将矩阵转化为张量得到的就是2维张量;

多维张量:将多维数组转化为张量得到的就是多维张量;

3.2张量的几个特性

张量具有以下几个重要的特性:

1.维度:张量是一个n维数组,其中n可以是任何正整数。每个维度代表了张量的一个轴,可以理解为数据的一个维度或者一个方向。例如,一个二维张量可以看作是一个矩阵,一个三维张量可以看作是一个体积数据。

2.数据类型:张量可以包含不同类型的数据,如整数、浮点数、布尔值等。在PyTorch中,张量的数据类型是由一个特定的类表示的,如`torch.int32`、`torch.float64`等。

3. 形状:张量的形状是由一个整数元组表示的,这个元组描述了张量在每个维度上的大小。形状决定了张量中元素的数量以及它们是如何组织在一起的。

4. 内存分配:张量在内存中的存储方式取决于其形状和数据类型。不同形状和数据类型的张量可能会影响计算效率和内存使用。

3.3张量的创建

3.3.1源码

import torch
import numpy as np
 
 
# torch.tensor根据已有的数据创建张量
# torch.Tensor根据形状创建张量,也可以用来创建指定数据的张量
# torch.IntTensor创建一个整数张量,torch.FloatTensor创建一个浮点数张量,torch.DoubleTensor创建一个双精度浮点数张量
 
# 1.根据已有数据创建张量
def test1():
    # 1.1 创建标量张量
    data = torch.tensor(10)
    print(data)
    # 1.2 numpy创建张量
    data = np.random.randn(2, 3)  # 2行3列
    data = torch.tensor(data)
    print(data)
    # 1.3 列表
    data = [[10., 20., 30.], [40., 50., 60.]]
    data = torch.tensor(data)
    print(data)
 
 
# 2.根据形状创建张量
def test2():
    # 2.1 创建一个形状为(2,3)的张量
    data = torch.Tensor(2, 3)
    print(data)
    # 2.2 如果传递列表,则创建包含列表元素的张量
    data = torch.Tensor([10])
    print(data)
    data = torch.Tensor([[10], [20]])
    print(data)
 
 
def test3():
    # 3.1 创建一个形状为(2,3)的整数张量
    data = torch.IntTensor(2, 3)
    print(data)
    # 3.2 创建一个形状为(2,3)的浮点数张量
    data = torch.FloatTensor(2, 3)
    print(data)
    # 3.3 创建一个形状为(2,3)的双精度浮点数张量
    data = torch.DoubleTensor(2, 3)
    print(data)
 
 
if __name__ == '__main__':
    test1()
    test2()
    test3()

3.3.2输出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值