Deep Learning with PyTorch: A 60 Minute Blitz 自学笔记
Tensor
张量是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量对模型的输入和输出以及模型的参数进行编码
张量类似于NumPy的ndarray,除了张量可以在GPU或其他专用硬件上运行以加速计算
12import torchimport numpy as np
Tensor Initialization
张量可以通过多种方式初始化
张量可以直接从数据中创建。数据类型是自动推断的。torch.tensor(data) 12data = [[1, 2], [3, 4]]x_data = torch.tensor(data)
张量可以从NumPy中的arrays创建,反之亦然。torch.from_numpy(np_array) 12np_array = np.array(data)x_np = torch.from_numpy(np_array)
从另一个张量,新张量将保留参数张量的属性(形状、数据类型)。torch.ones_like(tensor,type) & torch.rand_like(tensor,type) 1234567 ...
数据结构与算法A 第三章栈与队列
栈和队列是典型的线性结构,常被称为“操作受限的线性表”或“限制存取点的线性表”
栈
栈是一种限定仅在限制在一端进行插入和删除的线性表,无论是插入元素还是删除读取栈中的元素,都只能固定在线性表的一断进行。这一端被称为栈顶(top),另一端叫做栈底(bottom)
最后插入栈中的元素是最先被删除或读取的元素,而最先压入的元素则被放在栈的底部。栈的修改是按后进先出的原则进行(Last-In First-Out,LIFO),也称“下推表”
push操作:往栈中插入元素,简称压栈或入栈;pop操作:删除栈顶元素,简称出栈或弹出
栈的ADT1234567891011template <class T> // 栈的元素类型为 Tclass Stack { public: // 栈的运算集 void clear(); // 变为空栈 bool push(const T item); // item入栈,成功则返回真,否则返回假 bool pop(T & item); // 返回 ...
AI中的编程 Parallel Communication
GPU HardwareThread Blocks And GPU Hardware
一个thread对应GPU核,tread block对应SM(Streaming Multiprocessor),而一个grid对应若干个SM
A thread block contains many threads
A thread block must be on one SM; a SM may run more than one block
The programmer is responsible for defining blocks
The GPU is responsible for allocating thread blocks to hardware SMs
The threads run in parallel, and CUDA makes few guarantees about when and where thread blocks will run.thread block间的运行是并行的,无约束的
A Thread-Block Programming ...
数据结构与算法A 第二章线性表
线性表的概念线性表的抽象数据类型
线性表的定义:线性表(简称为表)是零个或多个元素的有穷序列L=(k0,k1,…,kn-1);线性表是由称为元素的数据项组成的一种有限且有序的序列,这些元素也称为结点或表目
线性表的逻辑结构:L=<K,R>其中,K={k0,k1,…,kn-1},R={r:线性关系}。
i称为ki的索引或下表。所含元素的个数称为表的长度。长度为0的表称为空表。k0是第一个元素kn-1是最后一个元素。ki是ki+1的前驱,ki+1是ki的后继
唯一开始的结点:没有前驱;唯一终止的结点:没有后继。内部节点:有唯一的直接前驱也有一个唯一的直接后继
线性表的关系r是前驱关系,应具有反对称性和传递性
要求:
内部结点具有相同的数据类型
每个元素都有自己的位置[0,n-1]
在线性表上实施的操作:
对整个表的操作:创建或置空一个线性表、合并两个线性表、判断线性表是否为空或满
对表中元素的操作:查找线性表中满足一定条件的元素、在线性表中插入或删除指定元素
线性表ADT:
123456789101112131415 ...
数据结构与算法A 第一章概论
数据结构
数据结构的三要素:逻辑结构、存储(物理)结构、运算
数据的逻辑结构
逻辑结构反映了事物的组成结构及事物之间的逻辑关系
数据的逻辑结构可以用一个二元组B=(K,R)来表示。其中K是数据结点集合,R是数据之间的二元关系,其中对于<k,k’>∈R,我们称k’为k在关系R上的后继结点;k是k’在关系R上的前驱结点
结点的类型
结点的数据类型可以是基本数据类型,也可以是复合数据类型
结构的分类
用R的性质来刻画数据结构的特点,并进行分类
线性结构:r称为线性关系,也称为前驱关系。每一个结点最多只有一个前驱结点和一个后继结点。e.g.数组、链表、队列
树形结构:r称为层次关系。所有结点有且仅有一个前驱,但是后继的数目不加限制
图结构:结点的前驱和后继的数目不加任何约束
数学上看,树形结构和图结构的基本区别是“每个结点是否仅仅从属于一个直接前驱”而线性结构和树形结构的基本区别是“每个结点是否仅有一个直接后继”
自顶向下的逻辑结构分析设计方法:先明确数据结点,及其主要关系r,然后分析数据结点的数据类型。如果数据结点的逻辑结构比较复杂,那么把他作为下一个 ...
AI中的编程 Parallel Programming
并行编程的介绍 :CPU vs GPU :
CPU: Complex control circuit
good:Flexibility + Performance
bad:Expensive in terms of power
GPU: Simple control circuit
good:More circuit for parallel computation
good:More power efficient
bad:Less flexibility, more restrictive programming models
The CPU is Optimized for Latency,The GPU is Optimized for Throughput
CUDA is Written in C with Extensions :
The CUDA complier complies a CUDA program into two parts, which runs on CPUs and GPUs
step1:Data:cpu->gpu
step2 ...
AI中的编程 LeNet(pytorch讲解)
Data Representation in PyTorchThe Tensor in PyTorch is actually a multidimensional array1234567891011121314151617import torchimport numpy as np# 类比于C++中的includedata = [[1, 2], [3, 4]]# []代表多维(2x2)数组x_data = torch.tensor(data)# 转换成pytorch的tensor,将Python列表转换为PyTorch张量,数据类型根据输入自动推断np_array = np.array(data)# 将Python列表转换为NumPy数组,方便与NumPy库进行后续操作x_np = torch.from_numpy(np_array)# 将NumPy数组转换为PyTorch张量,这样可以利用NumPy的操作,且数据存储方式相同x_rand = torch.rand_like(x_data, dtype=torch.float)# 创建一个与x_data形状相同的张量,初始化,生成浮 ...
CS自学指南 CS61A: Structure and Interpretation of Computer Programs
第一章 使用函数构建抽象 :1.2 编程要素 :
语言的三种机制 :
原始表达式和语句:语言所关心的最简单的个体
组合方法:由简单元素组合构建复合元素
抽象方法:命名复合元素,并将其作为单元进行操作
任何强大的编程语言都必须能表达基本的数据和函数,并且提供对函数和数据进行组合和抽象的方法
表达式表示的数字可以与数学运算符组合形成一个复合表达式,解释器将对其进行求值:
1234567>>> 4242>>> -1 - -10>>> 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/1280.9921875# 这些数学表达式使用中缀表示法(infix notation),运算符(例如 +、-、* 或 /)出现在操作数之间。
最重要的一种复合表达式是调用表达式,它将函数运用于一些参数上
例如,max 函数会输出一个最大的输入值,也就是将多个输入映射到了单个输出上
123456>>> max(7.5, 9.5)9.5'''调用表达式包含子表达式(sub ...
那些年背过的单词
英语六级高频生词 :
cognitive adj.认知的,认识能力的
device n.机械,装置;手段,策略;花招,计谋
executive adj.执行的;行政的 n.执行者
yield v.生产;放弃,让出;屈服,顺从;变形,折断 n.产量
manufacture n.制造业;制造 v.制造,加工
tremendous adj.极大地,非常的;精彩的,了不起的
dual adj.双重的,两重的
hazard n.危险,危害
intensive adj.加强的,密集的,集中的
tenant n.房客,佃户
fatigue n.疲劳,劳累
hinder v.妨碍,阻碍
foster v.收养,养育;促进 adj.收养的,代养的
reluctant adj.不情愿的,勉强的
indifferent adj.冷漠的,不积极的;一般的
derive v.取得,得到;起源,衍生
revenue n.收入,收益;政府税收
mortgage n&v.抵押
portray v.描写,描绘;扮演
dean n.教长,系主任
autonomy n.自治,自主权;人身自由
congress n. ...
[24/25赛季德甲联赛]第二轮 拜仁慕尼黑2-0弗莱堡
比赛综述 :拜仁慕尼黑2-0弗莱堡,凯恩造点+点射破门,穆勒替补登场锁定胜局
2024-09-01拜仁慕尼黑坐镇主场安联球场迎战弗莱堡。上半场双方真正有威胁的进攻不多,奥利赛传中,凯恩投球拱门造成对方球员手球犯规,主裁判判罚点球后凯恩亲自操刀命中帮助拜仁在第38分钟取得领先
下半场格纳布里传中,替补登场的穆勒写意调整摆脱完成破门
最后时刻堂安律射门打在替补登场不久的帕利尼亚手臂,主裁判判罚点球,霍勒主罚点球踢高没能改写比分。最终拜仁慕尼黑2-0战胜弗莱堡,迎来开局两连胜
比赛简评 :比赛呈现出的内容太令人失望,两场比赛皆是如此,明明赢球了,却高兴不起来
比赛开始前拜仁给出的4231阵型后腰搭档居然是穆西亚拉搭档帕夫洛维奇。基米希踢右边后卫的位置。最后比赛中实际上呈现的内容则是4141或者说是一个3241,帕夫洛维奇单后腰。祖宗之法变不得啊,虽然这场取得了胜利,但是场上呈现出来的内容只能用“很乱”来评价,甚至一度陷入被动
何以至此,中场硬度不够。帕夫洛维奇有很好的出球摆脱和推进的能力,但是正面拦截能力不如坐在替补席上的格雷茨卡,莱默尔,更不如刚买来的世界顶级后腰帕利尼亚。为什么花高价 ...







![[24/25赛季德甲联赛]第二轮 拜仁慕尼黑2-0弗莱堡](https://s2.loli.net/2024/09/06/LC4dAjmQtrxI2Uc.jpg)

