温故知新LS

这里写目录标题

  • chapter 1 numpy
  • chapter 2 torch
  • chapter 3

chapter 1 numpy

import numpy as np
import torch
######################### chapter 1 numpy #########################
# 1 numpy与torch类型数据相互转换
a = np.random.randint(0,10,[3,3])
a_t = torch.from_numpy(a)
a.dtype      # dtype('int64')
a_t.dtype    # torch.int64
np.array(a_t).dtype  # dtype('int64')
a_t.numel()  # 元素个数
a_t[0,0].item()  # 转换成标量
help(np.abs)      # 查看帮助# 2 将列表、元祖转换成数组
a_list = [1,2,3,4]
a_tuple = (1,2,3)
a_l = np.array(a_list)
a_t = np.array(a_tuple)
a_l.dtype,a_t.dtype   # (dtype('int64'), dtype('int64'))# 3 利用random模块生成数组
np.random.random(size=[2,3])  ## 生成(0~1)的随机数
np.random.sample([2,2])       ## 生成[2,2]的随机浮点数
np.random.uniform(size=[2,3,2])  ## 生成[2,3,2]的均匀随机
np.random.randn(1,2)   # 生成[2,2]的标准正态分布
np.random.randint(1,10,[3,3])
np.random.normal(20,10,[2,3])np.random.seed(10)
t = np.arange(10)
t   # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.random.shuffle(t)
t    # array([1, 6, 8, 7, 0, 5, 2, 3, 4, 9])# 4 创建特定形状的多维数组
np.zeros([2,3])
np.ones([2,3])
np.empty([2,2])   #  空数组,初始值为垃圾值
np.zeros_like(t)
np.ones_like(t)
np.empty(t)
np.eye(3)
np.full([3,3],666)
np.diag([1,2,3])
np.save(t,'path')
t = np.load('path')# 5 利用arange、linspace函数生成数组
np.arange(start=10,stop=20,dtype = np.float32)  # array([10., 11., 12., 13., 14., 15., 16., 17., 18., 19.], dtype=float32)
np.arange(start=10,stop=20,step=2)  # array([10, 12, 14, 16, 18])
np.arange(start=9,stop=1,step=-2)  # array([9, 7, 5, 3])
np.linspace(0,100,8)  # array([  0.        ,  14.28571429,  28.57142857,  42.85714286, 57.14285714,  71.42857143,  85.71428571, 100.        ])
np.logspace(0,10,10)# 6 获取元素
np.random.seed(10)
t = np.random.random(10)
t[4]
t[2:6]
t[::2]
t[::-3]
t = np.reshape([5,5])t = np.random.random(24).reshape([4,6])
t[2:3,0:2]
t[[0,3],[2,4]]
t[[0,3],2:5]
t[(t>0.2)&(t<0.8)]l = np.arange(20)
t = np.random.choice(l,[2,3])               # 不可重复抽
t = np.random.choice(l,[2,3],replace=True)  # 可重复抽
t = np.random.choice(l,[2,3],p=l/l.sum())   # 按概率抽# 7 对应元素相乘
a = np.random.randint(0,10,[2,2])
b = np.random.randint(0,10,[2,2])
a*b          # 对应元素相乘
np.multiply(a,b)
a/b
a%b
a//bX1=np.array([[1,2],[3,4]])  # 点积,矩阵乘法
X2=np.array([[1,2,3],[4,5,6]])
X1.dot(X2)# 8 更改数组的形状
X2=np.array([[1,2,3],[4,5,6]])
X2.resize(3,2)   # 修改数组本身
X2.reshape([2,3])  # 不修改数组本身
X2.shape   # (3, 2)
X2.T
X2.ravel()
X2.flatten()
X2[None][...,None]t = X2[None][...,None]  # (1, 2, 3, 1)
t.shape
t.squeeze().shape  #  (2, 3)
t = X2[None][::,::,None]       # (1, 2, 1, 3)
t.transpose([0,3,2,1]).shape   #  (1, 3, 1, 2)# 9 合并数组
a = np.arange(9)
a.resize([3,3])
b = np.random.random([3,3])
np.concatenate([a,b],0).shape # (6, 3)
np.concatenate([a,b],1).shape # (3, 6)
np.stack([a,b]).shape   # (2, 3, 3)
np.hstack([a,b]).shape  # (3, 6)
np.vstack([a,b]).shape  # (6, 3)
np.vstack([a[None],b[None]]).shape  # (2, 3, 3)
np.hstack([a[None],b[None]]).shape  # (1, 6, 3)
np.dstack([a[None],b[None]]).shape  # (1, 3, 6)
np.append(a.ravel(),b.ravel()).shape # (18,)
np.vsplit(a,3)# 10  批量处理
np.random.seed(123)
d = np.random.random([1000,3])
np.random.shuffle(d)
N = len(d)
bs = 110  # batch_size
for i in range(0,N,bs):x = d[i:i+bs]print(x.shape)# 11 Numpy中的几个常用通用函数
a = np.arange(9)
a.resize([3,3])
np.sqrt(a)
np.square(a)
np.abs(a)
a.dot(a)
np.log(a)
np.exp(a)
np.cumsum(a)
np.cumsum(a,1)
a.sum(1)
a.mean(0)
np.median(a)
np.median(a,1)
np.std(a)
np.var(a)
np.coorcoef(a)# 12 math与numpy函数的性能比较
import time
import numpy as np
import math
a = [i*0.001 for i in range(100000000)]
start = time.time()
for i,j in enumerate(a):a[i] = math.sin(j)
print(time.time()-start)a = [i*0.001 for i in range(100000000)]
start = time.time()
a = np.sin(a)
print(time.time()-start)# 13  广播机制
a = np.arange(4).reshape(4,1)
b = np.arange(6).reshape(1,6)
(a+b).shape    # (4, 6)

chapter 2 torch

######################### chapter 2 torch #########################
import numpy as np
import torch# 1 Tensor
x = torch.tensor([10.0])
x.device
import torch
x=torch.tensor([1,2])
y=torch.tensor([3,4])
z=x.add(y)
print(z)
print(x)
x.add_(y)
print(x)
torch.Tensor([1]) #
torch.tensor([1]) # dtype根据数据类型推断
torch.Tensor(10)  # 10个元素的张量 float
torch.eye(2,4)
torch.zeros(2,3)
torch.linspace(1,10,4)
torch.rand(2,3)   # 均匀分布随
torch.randn(2,3)  # 标准正态分布# 2 修改Tensor形状

chapter 3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

元宵佳节,我的创作纪念日:技术之路的回顾与展望

今天是元宵节&#xff0c;一个象征着团圆与美好的节日。巧合的是&#xff0c;今天也是我作为技术博客博主的创作纪念日。在这个特别的日子里&#xff0c;我想和大家分享我的创作故事&#xff0c;回顾初心、总结收获、展望未来&#xff0c;同时也希望能为正在技术道路上探索的你…

【STM32】H743的以太网MAC控制器的一个特殊功能

调试743的MAC&#xff0c;翻阅手册的时候&#xff0c;发现了一个有意思的功能 混杂模式 H743的MAC控制器&#xff0c;可以设置为混杂模式&#xff0c;这就意味着它可以做一些网络监控的应用&#xff0c;譬如连接具备端口镜像功能的交换机&#xff0c;然后直接代替PC实现网络数据…

一个AI应用的开发、上线流程解析

目录 1. 模型文件格式 1.1 CheckPoint (ckpt) 文件格式 1.2 .pth 文件格式 1.3 .mindir 文件格式 1.4 .onnx 文件格式 2. 推理&#xff08;Inference&#xff09; 2.1.pth (PyTorch模型格式) 2.2 .mindir (MindSpore模型格式) 2.3.onnx (开放神经网络交换格式) 2.4实…

使用 Redis 实现 Spring Boot 缓存优化与高性能数据存储

在现代高性能的分布式系统中&#xff0c;缓存已成为不可或缺的一部分。通过将频繁访问的数据存储在缓存中&#xff0c;可以显著减少数据库的负载&#xff0c;提高应用程序的响应速度。在众多缓存解决方案中&#xff0c;Redis 作为一个高性能的内存数据库&#xff0c;被广泛应用…

使用grafana v11 建立k线(蜡烛图)仪表板

先看实现的结果 沪铜主力合约 2025-02-12 的1分钟k线图 功能介绍: 左上角支持切换主力合约,日期,实现动态加载数据. 项目背景: 我想通过前端展示期货指定品种某1天的1分钟k线,类似tqsdk 的web_gui 生成图形化界面— TianQin Python SDK 3.7.8 文档 项目架构: 后端: fastap…

【C++】解锁<list>的正确姿势

> &#x1f343; 本系列为初阶C的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:[小编的个人主页])小编的个人主页 > &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 > ✌️ &#x1f91e; &#x1…

JUC并发—1.Java集合包底层源码剖析

大纲 1.为什么要对JDK源码剖析 2.ArrayList源码一&#xff1a;基本原理以及优缺点 3.ArrayList源码二&#xff1a;核心方法的原理 4.ArrayList源码三&#xff1a;数组扩容以及元素拷贝 5.LinkedList源码一&#xff1a;优缺点和使用场景 6.LinkedList源码二&#xff1a;双…

修改docker内容器中的某配置文件的命令

先找到配置文件config.php find / -name "config.php" 2>/dev/null 然后用vi编辑器修改配置文件 vi /var/www/config.php 最后就是vi的基本操作&#xff0c;根据具体需求使用&#xff1a; vi 有两种主要模式&#xff1a; 命令模式&#xff1a;进入 vi 后的默认…

一竞技瓦拉几亚S4预选:YB 2-0击败GG

在2月11号进行的PGL瓦拉几亚S4西欧区预选赛上,留在欧洲训练的YB战队以2-0击败GG战队晋级下一轮。双方对阵第二局:对线期YB就打出了优势,中期依靠卡尔带队进攻不断扩大经济优势,最终轻松碾压拿下比赛胜利,以下是对决战报。 YB战队在天辉。阵容是潮汐、卡尔、沙王、隐刺、发条。G…

使用Docker部署MySQL 5.7并配置防火墙

步骤1: 切换到超级用户 首先&#xff0c;打开终端&#xff0c;输入以下命令切换到超级用户(root)&#xff1a; su 然后输入您的root密码。 步骤2: 启动Docker服务 确保Docker服务已经启动。可以使用如下命令启动Docker&#xff08;如果它尚未运行&#xff09;&#xff1a;…

vue elementui select下拉库组件鼠标移出时隐藏下拉框

方案&#xff1a; select 监听 mouseleave事件&#xff0c;当鼠标离开时通过唯一标识ref设置select 下拉框隐藏&#xff0c;并做失焦 <el-select v-model"value" :popper-append-to-body"false" class"select_drop_inner" size"sm…

国产操作系统安装DeepSeek

从年前到现在&#xff0c;DeepSeek这款语言AI模型&#xff0c;一经发布直接在全球爆火&#xff0c;在热搜上更是牢牢占据一席之地。无论是技术大神&#xff0c;还是紧跟潮流的技术小白&#xff0c;都被它强大的自然语言处理能力所吸引。作为国产操作系统的用户&#xff0c;千万…

记使用AScript自动化操作ios苹果手机

公司业务需要自动化操作手机&#xff0c;本来以为很困难&#xff0c;没想到使用AScript工具出乎意料的简单&#xff0c;但是还有很多坑存在&#xff0c;写个博客记录一下。 工具信息&#xff1a; 手机&#xff1a;iphone7 系统版本&#xff1a;ios15 AScript官方文档链接&a…

关于conda换镜像源,pip换源

目录 1. 查看当前下载源2. 添加镜像源2.1清华大学开源软件镜像站2.2上海交通大学开源镜像站2.3中国科学技术大学 3.删除镜像源4.删除所有镜像源&#xff0c;恢复默认5.什么是conda-forge6.pip换源 1. 查看当前下载源 conda config --show channels 如果发现多个 可以只保留1个…

Springboot 中如何使用Sentinel

在 Spring Boot 中使用 Sentinel 非常方便&#xff0c;Spring Cloud Alibaba 提供了 spring-cloud-starter-alibaba-sentinel 组件&#xff0c;可以快速将 Sentinel 集成到你的 Spring Boot 应用中&#xff0c;并利用其强大的流量控制和容错能力。 下面是一个详细的步骤指南 …

ARM Cortex-M3/M4 权威指南 笔记【一】技术综述

一、Cortex-M3/M4 处理器的一般信息 1.1 处理器类型 ARM Cortex-M 为 32 位 RISC&#xff08;精简指令集&#xff09;处理器&#xff0c;其具有&#xff1a; 32位寄存器32位内部数据通路32位总线接口 除了 32 位数据&#xff0c;Cortex-M 处理器&#xff08;以及其他任何 A…

(一)Axure制作移动端登录页面

你知道如何利用Axure制作移动端登录页面吗&#xff1f;Axure除了可以制作Web端页面&#xff0c;移动端也是可以的哦&#xff0c;下面我们就一起来看一下Axure制作移动端登录页面的过程吧。 第一步&#xff1a;从元件中拖入一个矩形框&#xff0c;并设置其尺寸为&#xff1a;37…

InfiniBand与IP over InfiniBand(IPOIB):实现高性能网络通信的底层机制

在现代高性能计算(HPC)和数据中心环境中,网络通信的效率和性能至关重要。InfiniBand(IB)作为一种高性能的串行计算机总线架构,以其低延迟、高带宽和高可靠性而广泛应用于集群计算和数据中心。IP over InfiniBand(IPOIB)则是在InfiniBand网络上实现IP协议的一种方式,它…

HTML 链接

HTML 链接 引言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;而链接是网页中不可或缺的元素。链接不仅能够连接到其他网页&#xff0c;还能实现网页内部内容的跳转。本文将详细介绍HTML链接的用法、属性以及如何实现链接的优化。 HTML链接的基本…

C#的DataTable类精简汇总

目录 一、DataTable概述 1.创建 DataTable 2.添加行 3.修改行 4.删除行 5.查询行 6.排序行 7.合并 DataTable 8.克隆 DataTable 9.复制 DataTable 10.使用 DataView 过滤和排序 11.使用 DataTable 的事件 12.使用 DataTable 的约束 13.使用 DataTable 的表达式列 …