当前位置: 首页 > wzjs >正文

如何查网站的外链百度资源分享网

如何查网站的外链,百度资源分享网,大气装饰公司网站源码,搞网站开发的程序员属于哪一类前言:前一篇文章介绍了PyTorch概念,此次介绍PyTorch的API。 本文目录: 一、张量和标量张量标量标量与张量的关系 二、PyTorch创建张量(一)根据torch.tensor(data, dtype) 根据指定数据创建张量;&#xff0…

前言:前一篇文章介绍了PyTorch概念,此次介绍PyTorch的API

本文目录:

  • 一、张量和标量
    • 张量
    • 标量
    • 标量与张量的关系
  • 二、PyTorch创建张量
    • (一)根据torch.tensor(data=, dtype=) 根据指定数据创建张量;
    • (二)torch.Tensor(size=) 根据形状创建张量, 其也可用来创建指定数据或者指定类型的张量;
    • (三)torch.arange(start=, end=, step=):固定步长线性张量;torch.linspace(start=, end=, steps=):固定元素数线性张量;
    • (四)torch.randn/rand(size=) 创建随机浮点类型张量;torch.randint(low=, high=, size=) 创建随机整数类型张量,左闭右开;torch.initial_seed() 和 torch.manual_seed(seed=) 随机种子设置;
    • (五)torch.zeros(size=) 和 torch.zeros_like(input=) 创建全0张量;
    • (六)torch.ones(size=) 和 torch.ones_like(input=) 创建全1张量;
    • (七)torch.full(size=, fill_value=) 和 torch.full_like(input=, fill_value=) 创建全为指定值张量;
  • 三、类型转换
    • (一)张量类型转换
    • (二)张量、标量和numpy相互转换

一、张量和标量

张量和标量是深度学习和科学计算中最基本的数据表示形式,它们之间有着明确的区别和联系。

张量

元素为同一种数据类型的多维矩阵,与NumPy数组类似,张量既有数值,也有方向,可以看做是标量的高维扩展。

标量

标量是零维的单个数值,没有方向,只有大小。

在这里插入图片描述

标量与张量的关系

在这里插入图片描述

二、PyTorch创建张量

(一)根据torch.tensor(data=, dtype=) 根据指定数据创建张量;

import numpy as np
# 导入torch库,用于创建和操作张量
import torch# 创建并打印各种形状和类型的张量
print(torch.tensor(10))
print(torch.tensor([10],dtype=torch.int))
print(torch.tensor([[10]]))
print(torch.tensor([[[10]]]))
print(torch.tensor([[10,20],[30,40]]))# 从numpy数组创建并打印张量
print(torch.tensor(np.array([[10,20],[30,40]])))

(二)torch.Tensor(size=) 根据形状创建张量, 其也可用来创建指定数据或者指定类型的张量;

# 创建并打印各种形状的浮点数张量
print(torch.Tensor(5))# 指定形状,多的‘.’代表浮点,生成5个0
print(torch.Tensor(2,3))# 指定形状,生成2行3列0(浮点数)
print(torch.Tensor(size=(2,3)))   #指定size
# 计算并打印张量的维度
print(torch.Tensor([10]).ndim)
print(torch.Tensor([[[10]]]).ndim)# 通过列表和numpy数组创建并打印张量
print(torch.Tensor([[10,20],[30,40]]))
print(torch.Tensor(np.array([[10,20],[30,40]])))# 使用指定的数据类型创建并打印张量
print(torch.IntTensor([[10.2,20.7],[30.5,40.9]]))# 输出10,20,30,40,int32
print(torch.FloatTensor([[10,20],[30,40]]))# 输出10,20,30,40,float32
print(torch.LongTensor([[10,20],[30,40]]))# int64
print(torch.ShortTensor([[10,20],[30,40]]))# int16
print(torch.ByteTensor([[10,20],[30,40]]))# uint8
print(torch.HalfTensor([[10,20],[30,40]]))# float16

(三)torch.arange(start=, end=, step=):固定步长线性张量;torch.linspace(start=, end=, steps=):固定元素数线性张量;

# 1. 在指定区间按照步长生成元素 [start, end, step) 左闭右开
data = torch.arange(0, 10, 2)
print(data)# 2. 在指定区间按照元素个数生成 [start, end, steps] 左闭右闭
# step = (end-start) / (steps-1)
# value_i = start + step * i
data = torch.linspace(0, 9, 10)
print(data)

(四)torch.randn/rand(size=) 创建随机浮点类型张量;torch.randint(low=, high=, size=) 创建随机整数类型张量,左闭右开;torch.initial_seed() 和 torch.manual_seed(seed=) 随机种子设置;

# 1. 创建随机张量
data = torch.randn(2, 3)  # 创建2行3列张量
print(data)
# 查看随机数种子
print('随机数种子:', torch.initial_seed())# 2. 随机数种子设置 
torch.manual_seed(100)
data = torch.randn(2, 3)
print(data)
print('随机数种子:', torch.initial_seed())

(五)torch.zeros(size=) 和 torch.zeros_like(input=) 创建全0张量;

# 1. 创建指定形状全0张量
data = torch.zeros(2, 3)
print(data)# 2. 根据张量形状创建全0张量
data = torch.zeros_like(data)
print(data)

(六)torch.ones(size=) 和 torch.ones_like(input=) 创建全1张量;

# 1. 创建指定形状全1张量
data = torch.ones(2, 3)
print(data)# 2. 根据张量形状创建全1张量
data = torch.ones_like(data)
print(data)

(七)torch.full(size=, fill_value=) 和 torch.full_like(input=, fill_value=) 创建全为指定值张量;

# 1. 创建指定形状指定值的张量
data = torch.full([2, 3], 10)
print(data)# 2. 根据张量形状创建指定值的张量
data = torch.full_like(data, 20)
print(data)

三、类型转换

(一)张量类型转换

#类型转换
data=torch.rand(2,3)
print(data.dtype)
#类型转换方式1
print(data.type(torch.int32))
print(data.type(torch.float32))
print(data.type(torch.int64))
print(data.type(torch.int16))
print(data.type(torch.int8))
print(data.type(torch.uint8))#类型转换方式2
print(data.type(torch.double))
print(data.type(torch.long))
print(data.type(torch.short))
print(data.type(torch.half))
print(data.type(torch.bool))
#类型转换方式3
print(data.type(torch.ShortTensor))
print(data.type(torch.FloatTensor))
print(data.type(torch.LongTensor))
print(data.type(torch.IntTensor))
print(data.type(torch.DoubleTensor))
print(data.type(torch.HalfTensor))

(二)张量、标量和numpy相互转换

#标量转numpy
print(data.numpy())#numpy转张量,共享内存,但id不同
n1=np.array([1,2,3])
print(n1,id(n1))
t1=torch.from_numpy(n1)
print(t1,id(t1))   #n1和t1的id不同
【验证n1和t1是否共享内存:
n1[0] = 100  # 修改 NumPy 数组
print("修改后的 NumPy 数组:", n1)
print("PyTorch 张量是否同步变化:", t1)  # 结果显示:t1同步变为 tensor([100, 2, 3]),说明n1和t1共享内存】#使用copy不共享内存
n2=np.array([1,2,3])
print(n2,id(n2))
print(torch.from_numpy(n2.copy()),id(torch.from_numpy(n2.copy())))  #张量转标量
n3=3
print(torch.tensor(n3).item())  #先将3转为张量,再转为了标量;单数值numpy转标量也可用item()#标量转张量
print(torch.tensor(3))   #标量3被转为张量

今天的分享到此结束。

http://www.dtcms.com/wzjs/419285.html

相关文章:

  • 网站建设类行业资讯广州seo网站优化培训
  • 求大神帮忙做网站长春百度网站优化
  • 百度爱采购推广怎么入驻西安seo优化排名
  • 专门做pp他的网站国外免费建站网站
  • 大数据 做网站流量统计建网站赚钱
  • 时尚风格网站青岛seo优化公司
  • 什么网站可以做excel表格百度竞价推广开户内容
  • 廊坊建网站外包网站关键词优化排名怎么做
  • 微信上做网站百度文库个人登录入口
  • 自媒体135网站关键词查询工具
  • ps怎样做网站详情页北京seo招聘信息
  • 过年做那些网站致富怎么创建网站平台
  • 番禺做网站报价百度免费咨询
  • 做虚拟网站要花多少钱青岛百度整站优化服务
  • 网站建设搭建广州今日新闻最新消息
  • 做网站需要缴什么费用微信广告投放推广平台
  • 焦作网站建设公司网站百度百科
  • 佛山建设局网站南昌seo快速排名
  • 如何用oss做视频网站怎么制作网页设计
  • 做刀网站百度销售系统
  • 手机一元云购网站建设seo的基础是什么
  • 网站建设插入歌曲北京网站优化实战
  • 网页设计与制作的意思海外seo网站推广
  • 怎样做艾条艾柱网站万网域名管理平台
  • 做网站是百度图片
  • 个人网站怎么建宁波网站推广公司有哪些
  • 帮网站做诚信证书可靠吗资源链接搜索引擎
  • vs做网站好不好百度广告推广收费标准
  • 网站开发用什么框架好无锡网站建设seo
  • 做网站都需要哪些知识国际军事新闻今日头条