日新月异 PyTorch - numpy 基础: numpy 数组的运算,连接,分割

news/2024/9/24 15:06:43

源码 https://github.com/webabcd/PytorchDemo
作者 webabcd

日新月异 PyTorch - numpy 基础: numpy 数组的运算,连接,分割

示例如下:

numpy\demo3.py

import numpy as np# 数组之间的运算
def sample1():a = np.array([1, 2, 3, 4])b = np.array([2, 4, 6, 8])# 加法print(a + b) # [ 3  6  9 12]# 减法print(a - b) # [-1 -2 -3 -4]# 乘法print(a * b) # [ 2  8 18 32]# 除法print(a / b) # [0.5 0.5 0.5 0.5]# 幂运算print(a ** b) # [1 16 729 65536]c = np.array([1, 2, 3])d = np.array([[2], [4], [6]])print(c)'''
[1 2 3]'''print(d)'''
[[2][4][6]]'''# 不同形状的数组在进行运算时,会通过广播机制(broadcasting)扩展为合适形状的数组# 比如 c 和 d 相加,就相当于如下两个数组相加'''
[[1 2 3][1 2 3][1 2 3]]
+
[[2 2 2][4 4 4][6 6 6]]'''print(c + d)'''
[[3 4 5][5 6 7][7 8 9]]'''# 数组之间的连接
def sample2():a = np.array([[1,2],[3,4]])b = np.array([[5,6],[7,8]])print(a)'''
[[1 2][3 4]]'''print(b)'''
[[5 6][7 8]]'''# 沿着轴 0 连接两个数组# 轴(axis)就是指的维度c = np.concatenate((a,b), axis=0)print(c)'''
[[1 2][3 4][5 6][7 8]]'''# 沿着轴 1 连接两个数组d = np.concatenate((a,b), axis=1)print(d)'''
[[1 2 5 6][3 4 7 8]]'''# 沿着轴 0 组合两个数组,会封装成为一个三维数组e = np.stack((a,b), axis=0)print(e)'''
[[[1 2][3 4]][[5 6][7 8]]]'''# 沿着轴 1 组合两个数组,会封装成为一个三维数组f = np.stack((a,b), axis=1)print(f)'''
[[[1 2][5 6]][[3 4][7 8]]]'''# 垂直方向连接两个数组g = np.vstack((a,b))print(g)'''
[[1 2][3 4][5 6][7 8]]'''# 水平方向连接两个数组h = np.hstack((a,b))print(h)'''
[[1 2 5 6][3 4 7 8]]'''# 数组之间的分割
def sample3():a = np.arange(9)print (a) # [0 1 2 3 4 5 6 7 8]# 将数组分割为 3 个大小相等的数组b = np.split(a,3)print(b) # [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]# 从位置 4, 6, 7 分割数组c = np.split(a,[4,6,7])print(c) # [array([0, 1, 2, 3]), array([4, 5]), array([6]), array([7, 8])]d = np.array([[1,2,3,4],[5,6,7,8]])print(d)'''
[[1 2 3 4][5 6 7 8]]'''# 垂直分割为 2 个数组e = np.vsplit(d, 2)print(e)'''
[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]'''# 水平分割为 2 个数组f = np.hsplit(d, 2)print(f)'''
[array([[1, 2],[5, 6]]), array([[3, 4],[7, 8]])]'''if __name__ == '__main__':# 数组之间的运算sample1()# 数组之间的连接sample2()# 数组之间的分割sample3()

源码 https://github.com/webabcd/PytorchDemo
作者 webabcd

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

APGL4SR论文阅读笔记

APGL4SR: A Generic Framework with Adaptive and Personalized Global Collaborative Information in Sequential Recommendation论文阅读笔记 Abstract 现存的问题: ​ 现有方法通常只关注序列内建模,而忽略了通过序列间建模来利用全局协作信息,从而导致推荐效果不佳。以往…

DDD学习与感悟——向屎山冲锋

软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思…

大数据从业者必知必会的Hive SQL调优技巧

大数据从业者必知必会的Hive SQL调优技巧 摘要:在大数据领域中,Hive SQL被广泛应用于数据仓库的数据查询和分析。然而,由于数据量庞大和复杂的查询需求,Hive SQL查询的性能往往不尽人意。本文针对Hive SQL的性能优化进行深入研究,提出了一系列可行的调优方案,并给出了相应…

.net core开源工作流程框架elsa源码阅读之容器的理解

官方文档:https://v3.elsaworkflows.io/官方文档:https://v3.elsaworkflows.io/ 这个框架的依赖注入容器,底层是靠原生的IServiceCollection,没有使用其他的三方容器;然后在这个基础上,作者进行了封装。 主要是用了Module类和继承了IFeature接口的类完成了依赖注入容器的…

22320102 张怡晨9.24

思维导图:亿图 Xmind PDF转换器 :CAJ lightPDF(免费)www.light pdf.com pdf Candy

详解Diffusion扩散模型:理论、架构与实现

本文深入探讨了Diffusion扩散模型的概念、架构设计与算法实现,详细解析了模型的前向与逆向过程、编码器与解码器的设计、网络结构与训练过程,结合PyTorch代码示例,提供全面的技术指导。关注TechLead,复旦AI博士,分享AI领域全维度知识与研究。拥有10+年AI领域研究经验、复旦…

2024.9.24第二次课

思维导图制作:使用Xmind