11.20 深度学习-pytorch包和属性的基础语法

server/2024/11/25 21:28:28/

import torch

import numpy as np

def sci_close():

    # 关闭pytorch 数据打印出来时科学计数法

    torch.set_printoptions(sci_mode=False)

    pass

    return 0

def create_tensor():

    # 创建张量

    t1=torch.tensor(5) # 一阶张量 阶数看你传入的矩阵是多少阶的 这个是标量 不是一阶 一阶要加[] 加了[]才是多少阶

    t1.dtype # tensor张量里面的数据类型 只能是int float bool

    t1.shape # tensor张量的形状 标量的shape啥都没有

    t1.device # 数据运行的设备

    # 创建的时候也可以传入np数组 list

    # 创建的时候也可以传入参数 dtype 如果数据超出范围会自动变为最大范围的余数     设置tensor数据类型  tensor数据类型有..... 都是torch里面的数据类型int8.....跟numpy类似

    # 创建的时候可以指定数据运行的设备 传入参数device "cpu" 或者 "cuda" 不同设备上的数据无法运算

    t2=torch.tensor([[1,2,3],[300,22,11]],dtype=torch.int8,device="cpu")

    # print(t2.device)

    # 也可以使用 tensor.to("cpu") tensor.to("cuda") 返回一个新的运行在新设备上的tensor

    t3=t2.to("cpu")

    print(t3.device)

    # 查看cuda是否可用 返回布尔值

    bool1=torch.cuda.is_available()

    # 可以根据这个布尔值 设计一个 有显卡先用显卡 没显卡用CPU的程序

    # 也可以使用tensor.cuda() 直接返回一个在显卡上运行的新tensor

def choose_device():

    t1=torch.Tensor(3,2,device="cpu")

    if torch.cuda.is_available():

        t2=t1.cuda()

    else:

        t2=t1

    t2=t1

    torch.cuda.is_available() and t2=t1.cuda()


 

def create_Tensor():

    # 利用Tensor()直接创建特定形状的张量

    # 这个是大写的Tensor

    t1=torch.Tensor(5,4) #  创建 一个5行4列的二维tensor

    a=t1.dtype #

    b=t1.shape #

    # print(b)

    # 也可以在Tensor前面加数据类型 创建出来的tensor里面的数据就是对应的类型 位数不同

    tt2 = torch.FloatTensor(3, 3)

    tt3 = torch.DoubleTensor(3, 3)

    tt4 = torch.LongTensor(3, 3)

    tt5 = torch.ShortTensor(3, 3)

    print(t1)

# 创建线性和随机张量

def create_line_random_tensor():

    # 跟numpy的差不多 不过np变为了torch star stop step 不包括stop

    # 感觉torch就是集成了一个numpy在里面

    t1=torch.arange(1,10,step=2)  # 知道等差公差

    # print(t1)

    # 包含了stop

    t2=torch.linspace(1,10,4,dtype=torch.int8) # 知道等差的 个数

    # print(t2)

   

    # 等比数列 logspace  base 基数 这个是2的1次方开始 到2的10次方 step为元素个数n

    t3=torch.logspace(1,10,3,base=2)

    # 随机

    # 可以设置随机数种子 设置玩后可以获取一下一般记在心里

    torch.manual_seed(666)

    # 获取 返回了随机数种子

    r=torch.initial_seed()

    # 生成随机张量 rand真随机    randn随机出来来的符合标准正态分布 靠近中心的要大点

    t4=torch.rand(10,5)

    # print(t4)

    # 自己设置一个正太分布 来随机生成 传入均值和方差 和形状

    t5=torch.normal(2,1,(3,3))

    print(t5)

# 创建0-1张量 创建指定值张量 创建单位矩阵张量

def zero_one():

    # 创建全0 张量

    t1=torch.zeros(5,5)

    # print(t1)

    # 根据其他的tensor的形状来创建全0张量 zeros_like

    t2=torch.rand(2,3)

    # print(t2)

    t3=torch.zeros_like(t2)

    # print(t3)

    # 全1张量 函数名变为ones 也可以like

    t4=torch.ones(5,5)

    t6=torch.ones_like(t2)

    # print(t6,t4)

    # 创建指定值张量传入形状和 填充值

    t7=torch.full((3,3),666)

    # like

    t8=torch.full_like(t2,666)

    # print(t7,t8)

    # 创建单位矩阵张量 因为是方阵传入一个行就行

    t9=torch.eye(4)

    print(t9)

# dtype 转换

def change_dtype():

    t1=torch.rand(2,3)

    # tensor.type(torch数据类型) 返回一个新的          

    t2=t1.type(torch.int8)

    # 也可以用对应类型的api tensor.对应的api 直接变  跟cuda()方法一样 返回一个新的

    t3=t1.float()

    # 。。。。。。。。


 

if __name__=="__main__":

    # create_tensor()

    # create_Tensor()

    # create_line_random_tensor()

    # zero_one()

   

    pass






 


http://www.ppmy.cn/server/144899.html

相关文章

深入探索JMeter的执行器时间线:从CLArgsParser到JmeterEngine

引言 Apache JMeter是一款广泛使用的开源性能测试工具,它允许用户对各种服务进行负载测试。然而,了解其内部工作机制对于优化测试计划和提高测试效率至关重要。本文将深入探讨JMeter的执行器时间线,包括CLArgsParser、HashTree、StandardJme…

C++结构型设计模式所体现面向接口设计的特征和优点

结构型设计模式(Structural Patterns)在面向接口设计方面体现了一系列重要的特征,这些特征帮助我们构建灵活、可扩展和易于维护的系统。以下是结构型设计模式在面向接口设计方面的特征及其优点: 1. 接口分离和抽象化 特征 结构…

鸿蒙学习高效开发与测试-应用程序框架和HarmonyOS SDK(3)

文章目录 1、应用程序框架1、规范化后台进程管理2、原生支持分布式3、支持多设备的统一窗口管理4、 组件共享及面向对象5、逻辑与界面解耦6、灵活扩展机制2、HarmonyOS SDK1、 开放能力 Kit2、开放能力的检索和使用3、 方舟工具链4、前端编译器架构1、应用程序框架 应 用 程 序…

深度学习:如何复现神经网络

深度学习:如何复现神经网络 要复现图中展示的卷积神经网络(CNN),我们需详细了解和配置每层网络的功能与设计理由。以下将具体解释各层的配置以及设计选择的原因,确保网络设计的合理性与有效性。 详细的网络层配置与设…

SpringBoot社团管理:安全与维护

3系统分析 3.1可行性分析 通过对本社团管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本社团管理系统采用SSM框架,JAVA作为开发语言&#…

代码随想录算法训练营第五十四天|Day54 图论

冗余连接 https://www.programmercarl.com/kamacoder/0108.%E5%86%97%E4%BD%99%E8%BF%9E%E6%8E%A5.html 思路 #include <stdio.h> #include <stdlib.h>#define MAX_N 1000// 并查集结构体 typedef struct {int parent[MAX_N 1]; // 存储每个节点的父节点int rank…

2024年亚太C题第二版本二问题1求解过程+代码运行以及问题2-4超详细思路分析

2024 亚太地区数学建模竞赛 问题 C 宠物产业及相关产业的发展分析与策略 问题背景 随着人们消费理念的逐步发展&#xff0c;宠物行业作为新兴产业&#xff0c;凭借着经济的快速发展和人均收入的不断提高&#xff0c;逐渐在全球范围内积聚动能。1992年&#xff0c;中国小动…

OpenAI震撼发布:桌面版ChatGPT,Windows macOS双平台AI编程体验!

【雪球导读】 「OpenAI推出ChatGPT桌面端」 OpenAI重磅推出ChatGPT桌面端&#xff0c;全面支持Windows和macOS系统&#xff01;这款新工具为用户在日常生活和工作中提供了前所未有的无缝交互体验。对于那些依赖桌面端进行开发工作的专业人士来说&#xff0c;这一更新带来了令人…