在微积分这一章节中,理论知识自不必说,考研都考过了的。
就是在此书中的画出函数微分图像的示例值得关注一下。
说白了其实就是我的python基础还是差劲了点。
比较值得注意的点是,作者将画图的代码都封装到了一个函数里,比如图的横纵坐标的参数,以及图的尺寸的大小,当后面多处需要画图时,简单调用就行。
这是每一个初学编程者学到函数章节时都会学的思想,只不过被我这个小菜鸡遗忘了。
在这一小节,记录的还是在此书示例时,我不懂的一些python函数,属于基础知识。各位大佬不小心刷到我这篇,请轻喷~~~~~
1.将输出保留固定的小数位
1.format方法
h = 0.2546845845468
print(f'{h:.5f}')
h = 0.25468
2.round函数
print(round(h, 6))
0.254685
2.图例中配置网格线
axes.grid()
3.plt.gca()函数
axes = axes if axes else d2l.plt.gca()
//这句话出现在此书作图的代码中,gca函数是获得当前axes的对象,什么意思我没有理解,后续了解了再回来解释
4.Numpy库中ndarray对象的ndim属性
ndim属性用来返回数组的维度,如果是一维数组或者是一个列向量,那么其ndim为1;若是二维数组,那么就是2;三维就是3了。
//一维
x = torch.arange(10)
print(x)
print(x.ndim)
//result
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
1
//二维
x = x.reshape(2, 5)
print(x)
print(x.ndim)
//result
tensor([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
2
//三维
x = torch.arange(12)
x = x.reshape(2, 2, 3)
print(x)
print(x.ndim)
//result
tensor([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]]])
3
print(hasattr(x, "ndim"))
True
6.isinstance()函数
判断一个对象是否是一个已知的类型。若是否是int型、string类型、列表或者是元组。需要知道的是,isinstance函数会考虑继承关系,即认为子类是一种父类类型。
x = torch.arange(12)
print(isinstance(x, list))
print(isinstance(x, torch.Tensor))
False
True