深圳排名网站根据网站开发app
2026/1/18 9:23:11 网站建设 项目流程
深圳排名网站,根据网站开发app,旅游网--个人网站建设 论文,官网设计比较好看的网站本文章知识来源于《深度学习入门》 (鱼书)#xff0c;特此声明。可以当做读数笔记来进行阅读。 NumPy 在深度学习的实现中#xff0c;经常出现数组和矩阵的计算。NumPy的数组类 #xff08;numpy.array#xff09;中提供了很多便捷的方法#xff0c;在实现深度学习时…本文章知识来源于《深度学习入门》 (鱼书)特此声明。可以当做读数笔记来进行阅读。NumPy在深度学习的实现中经常出现数组和矩阵的计算。NumPy的数组类 numpy.array中提供了很多便捷的方法在实现深度学习时我们将使用这些方法。核心功能多维数组对象ndarray所有元素类型相同由dtype属性指定如int32、float64等通过shape属性表示各维度大小例如二维数组形状为(行数, 列数)元素在内存中连续存储便于快速访问和运算**高效存储与计算**基于C语言实现数组存储紧凑运算速度远超Python原生列表。支持向量化操作避免显式循环大幅提升代码简洁性和执行效率**广播机制**支持不同形状数组间的运算简化数据处理逻辑**丰富的数学函数库**提供全面的数学函数包括统计函数、线性代数函数、傅里叶变换等**集成性强**与Pandas、SciPy、Matplotlib等库深度整合是数据分析和机器学习的基础pipinstallnumpyimportnumpyasnpprint(np.__version__)# 2.2.6生成数组# 从列表创建一维数组anp.array([1,2,3,4,5])# [1 2 3 4] type:class numpy.ndarrayprint(f{a}type:{type(a)})# 从列表创建二维数组# [[1 2 3]# [4 5 6]] type:class numpy.ndarraybnp.array([[1,2,3],[4,5,6]])print(f{b}type:{type(b)})# 创建全零二维数组#[[0. 0. 0.]# [0. 0. 0.]] type:class numpy.ndarrayzerosnp.zeros((2,3))print(f{zeros}type:{type(zeros)})# 创建全一二维数组#[[1. 1. 1.]# [1. 1. 1.]# [1. 1. 1.]] type:class numpy.ndarrayonesnp.ones((3,3))print(f{ones}type:{type(ones)})# 创建等差数列arangenp.arange(start0,stop10,step2)# [0 2 4 6 8]print(arange)# 创建随机数组randnp.random.rand(2,2)print(rand)算数运算xnp.array([1.0,2.0,3.0])ynp.array([2.0,4.0,6.0])# 如果元素个数不同程序就会报错# “对应元素的”的英文是element-wisexy# 对应元素的加法 [ 3., 6., 9.]x-y# [ -1., -2., -3.]x*y# [ 2., 8., 18.]x/y# [ 0.5, 0.5, 0.5]xnp.array([1.0,2.0,3.0])x/2.0# [ 0.5, 1. , 1.5] 也叫做广播N维数组Anp.array([[1,2],[3,4]])print(A)# [[1 2]# [3 4]]A.shape# (2,2) 表示两行两列的矩阵A.dtype# dtype(int64)和数组的算术运算一样矩阵的算术运算也可以在相同形状的矩阵间以对应元素的方式进行。并且也可以通过标量单一数值对矩阵进行算术运算。这也是基于广播的功能Anp.array([[1,2],[3,4]])Bnp.array([[3,0],[0,6]])AB# array([[ 4, 2],# [ 3, 10]])A*B# array([[ 3, 0],# [ 0, 24]])NumPy数组np.array可以生成_N_维数组即可以生成一维数组、二维数组、三维数组等任意维数的数组。数学上将一维数组称为向量将二维数组称为矩阵。另外可以将一般化之后的向量或矩阵等统称为张量tensor。广播NumPy中形状不同的数组之间也可以进行运算。Anp.array([[1,2],[3,4]])# 2*2 的矩阵A和标量10 做乘法运算A*10标量10 被扩展成了 2* 2 的形状然后再与矩阵A进行乘法运算这个功能称为 广播 (broadcast)再看一个例子Anp.array([[1,2],[3,4]])Bnp.array([10,20])A*B# array([[ 10, 40],# [ 30, 80]])Matplotlib在深度学习的实验中图形的绘制和数据的可视化非常重要。Matplotlib是用于绘制图形的库使用Matplotlib可以轻松地绘制图形和实现数据的可视化。 全局设置 # 设置中文字体plt.rcParams[font.sans-serif][SimHei,DejaVu Sans]plt.rcParams[axes.unicode_minus]Falseif__name____main__:# 创建一个绘图窗口 宽 15英寸高 10 英寸figplt.figure(figsize(15,10))# 顶部绘制文字18号加粗fig.suptitle(初中阶段基本函数图像,fontsize18,fontweightbold)# 使用GridSpec创建2x3的子图布局# 第一行 一次函数二次函数 反比例函数# 第二行 正比例函数常数函数 绝对值函数gsgridspec.GridSpec(2,3,figurefig)# 1. 一次函数 y 2x 1plot_linear_function(gs)# 2. 二次函数 y x²plot_quadratic_function(gs)# 3. 反比例函数 y 1/xplot_inverse_proportion_function(gs)# 4. 正比例函数 y xplot_proportion_function(gs)# 5. 常数函数 y 3plot_constant_function(gs)# 6. 绝对值函数 y |x|plot_absolute_value_function(gs)# 调整子图间距# rect[0, 0, 1, 0.96] 定义了子图布局的矩形区域# [左, 下, 右, 上] 分别对应矩形区域的边界# 0, 0 表示左侧和底部从0开始# 1, 0.96 表示右侧到1结束顶部到0.96结束plt.tight_layout(rect[0,0,1,0.96])# 添加函数特点说明# 坐标(0.02, 0.02)表示文本左下角的位置相对坐标0-1之间fig.text(0.02,0.02,初中阶段主要函数特点\n1. 一次函数直线斜率为常数\n2. 二次函数抛物线开口方向由系数决定\n3. 反比例函数双曲线以坐标轴为渐近线\n4. 正比例函数经过原点的直线\n5. 常数函数平行于x轴的直线\n6. 绝对值函数V形关于y轴对称,fontsize11,bboxdict(boxstyleround,pad0.5,facecolorlightyellow,alpha0.8))plt.show()defplot_linear_function(gs): 绘制一次函数 # 定义x的取值范围xnp.linspace(-10,10,400)# 1. 一次函数 y 2x 1# gs 是一个 2*3 的布局# fig.add_subplot(gs[0, 0]) 表示在 0行 0列 创建一个子图ax1fig.add_subplot(gs[0,0])y2*x1# 绘制一次函数图像plot是: matplotlib中用于绘制线条图的方法# x: x轴坐标数据-10到10的400个点# y: y轴坐标数据根据函数y 2x 1计算得出# b-: 绘制样式b表示蓝色blue-表示实线# linewidth2: 线条宽度为2个像素# labely 2x 1: 图例标签显示函数表达式ax1.plot(x,y,b-,linewidth2,labely 2x 1)# 是matplotlib中用于绘制水平线的方法# y0: 水平线的y坐标位置在这里是在y0的位置即x轴位置# colork: 线条颜色k表示黑色black# linewidth0.5: 线条宽度为0.5个像素# alpha0.5: 线条透明度0.5表示半透明ax1.axhline(y0,colork,linewidth0.5,alpha0.5)ax1.axvline(x0,colork,linewidth0.5,alpha0.5)# 标题ax1.set_title(一次函数,fontsize14,fontweightbold)ax1.set_xlabel(x)ax1.set_ylabel(y)# 设置x轴的最小值为-10最大值为10ax1.set_xlim(-10,10)# 设置y轴的最小值为-10最大值为10ax1.set_ylim(-10,10)# 为图表添加网格线ax1.grid(True,alpha0.3)# 显示图例用于标识图表中的不同数据系列 指定图例显示在图表的左上角位置ax1.legend(locupper left)# 设置坐标轴的纵横比 equal 表示x轴和y轴的比例相等即单位长度相同# adjustablebox 表示通过调整坐标轴的边界框来保持比例ax1.set_aspect(equal,adjustablebox)defplot_quadratic_function(gs): 二次函数 y x² :param gs: :return: axfig.add_subplot(gs[0,1])xnp.linspace(-10,10,400)yx**2ax.plot(x,y,r-,linewidth2,labely x²)ax.axhline(y0,colork,linewidth0.5,alpha0.5)ax.axvline(x0,colork,linewidth0.5,alpha0.5)ax.set_title(二次函数,fontsize14,fontweightbold)ax.set_xlabel(x)ax.set_ylabel(y)# x 轴的最小值为-5最大值为5ax.set_xlim(-5,5)# y 轴的最小值为-2最大值为10ax.set_ylim(-2,10)ax.grid(True,alpha0.3)ax.legend(locupper center)ax.set_aspect(equal,adjustablebox)defplot_inverse_proportion_function(gs): 正比例函数 y x :param gs: :return: axfig.add_subplot(gs[0,2])# 创建从-10到-0.1的200个均匀分布的数据点 避开x0点防止除零错误x_beginnp.linspace(-10,-0.1,200)# 创建从0.1到10的200个均匀分布的数据点 同样避开x0点x_endnp.linspace(0.1,10,200)# 使用 np.concatenate 将 x_begin 和 x_end 两个数组连接成一个完整的数组xnp.concatenate([x_begin,x_end])y1/x# g表示greenax.plot(x,y,g-,linewidth2,labely 1/x)ax.axhline(y0,colork,linewidth0.5,alpha0.5)ax.axvline(x0,colork,linewidth0.5,alpha0.5)ax.set_title(反比例函数,fontsize14,fontweightbold)ax.set_xlabel(x)ax.set_ylabel(y)ax.set_xlim(-10,10)ax.set_ylim(-10,10)ax.grid(True,alpha0.3)ax.legend(locupper left)ax.set_aspect(equal,adjustablebox)defplot_proportion_function(gs): 正比例函数 y x :param gs: :return: xnp.linspace(-10,10,400)axfig.add_subplot(gs[1,0])yx ax.plot(x,x,m-,linewidth2,labely x)ax.axhline(y0,colork,linewidth0.5,alpha0.5)ax.axvline(x0,colork,linewidth0.5,alpha0.5)ax.set_title(正比例函数,fontsize14,fontweightbold)ax.set_xlabel(x)ax.set_ylabel(y)ax.set_xlim(-10,10)ax.set_ylim(-10,10)ax.grid(True,alpha0.3)ax.legend(locupper left)ax.set_aspect(equal,adjustablebox)defplot_constant_function(gs): 常数函数 y 3 :param gs: :return: axfig.add_subplot(gs[1,1])xnp.linspace(-10,10,400)# x所有元素都等于1ynp.ones_like(x)*3ax.plot(x,y,c-,linewidth2,labely 3)ax.axhline(y0,colork,linewidth0.5,alpha0.5)ax.axvline(x0,colork,linewidth0.5,alpha0.5)ax.set_title(常数函数,fontsize14,fontweightbold)ax.set_xlabel(x)ax.set_ylabel(y)ax.set_xlim(-10,10)ax.set_ylim(-5,5)ax.grid(True,alpha0.3)ax.legend(locupper right)ax.set_aspect(equal,adjustablebox)defplot_absolute_value_function(gs): 绝对值函数 y |x| :param gs: :return: axfig.add_subplot(gs[1,2])xnp.linspace(-10,10,400)ynp.abs(x)ax.plot(x,y,y-,linewidth2,labely |x|)ax.axhline(y0,colork,linewidth0.5,alpha0.5)ax.axvline(x0,colork,linewidth0.5,alpha0.5)ax.set_title(绝对值函数,fontsize14,fontweightbold)ax.set_xlabel(x)ax.set_ylabel(y)ax.set_xlim(-10,10)ax.set_ylim(-2,10)ax.grid(True,alpha0.3)ax.legend(locupper center)ax.set_aspect(equal,adjustablebox)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询