今天打算学一点就写一点,不然全部堆积到晚上压力太大了,有些东西写不完就要睡觉了
是Python中的用于科学计算的库,提供高性能的多维数组对象和对应的操作函数,用于处理大型数据集和执行数值计算任务。
numpy的主要功能包含:
值得注意的是,numpy的底层是c语言编写的,这表明其具备高度优化的运算性能。numpy同时还是许多数据分析和机器学习库的基础,如SciPy、Pandas和Scikit-learn等。
这里解释一下上述第二点提到的numpy提供的广播机制:
NumPy的广播(Broadcasting)机制是一种灵活的规则,它允许在不同形状的数组之间进行算术运算。当进行操作的数组具有不同的形状时,广播机制会自动调整数组的维度,使它们具有兼容的形状,以便进行元素级的运算。
广播机制的主要目的是为了避免显式地进行数组形状的重复和复制操作。它可以在不增加数组的存储开销的情况下,实现对不同形状数组的元素级操作,提高了代码的简洁性和效率。
广播机制遵循以下规则:
那为什么要提出广播机制呢?好处如下:
如果事先没有运行conda,那就先cd到conda安装的路径下,执行conda init命令:
~/miniconda3/bin/conda init
注意这里前面的miniconda3/bin只是示例,具体要以自己电脑上的安装路径为准。
如果没有报错,控制台会提示关闭当前shell,就直接关掉即可,第二次打开即可生效。
第二次打开后,输入命令:
conda create --name d2l python=3.9 -y
这表示创建一个名为d2l的环境,使用的是3.9Python版本。
然后就会出现下面的情况:
等待安装完成即可。
现在只需要输入:
conda activate d2l
即可完成环境激活
输入:
jupyter notebook
找到d2l-zh对应的路径,即可跑通李沐老师的代码。
在jupyter里面修改代码,点击运行可以实时查看到结果,对于动手写代码、初学者是非常友好的。
ARM微处理器主要支持7种运行模式:
详细解释如下图所示:
有下面几点需要注意:
上述7种是ARM的工作模式,而ARM同时也有两种工作状态:thumb和arm状态。
那为什么要设置这两个工作状态呢?
因为不同的指令具有不同的特点,arm指令更长,适合计算能力需求较高的场景;而thumb的指令较短,可以减少存储空间,降低功耗提高性能。
在程序执行的过程中,两种状态可以随时切换,通过BX指令,根据操作数寄存器的最低位是0还是1来判断进入arm还是thumb。
BX R0
注意,异常情况下,只能处在arm状态。