《从深度学习基础到车道线模型训练与部署》学习(三)

1.Python常用库之一:Numpy库

NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。总而言之,包含:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

2.Python常用库之二:Pandas库

Pandas是用于数据操纵和分析,建立在Numpy之上的。Pandas为Python带来了两种新的数据结构:Pandas Series和Pandas DataFrame,借助这两种数据结构,我们能够轻松直观地处理带标签数据和关系数据。Pandas功能:

  • 允许为行和列设定标签
  • 可以针对时间序列数据计算滚动统计学指标
  • 轻松处理NaN值
  • 能够将不同的数据集合并在一起
  • 与Numpy和Matplotlib集成

3.%pylab inline的使用

在jupyter notebook代码开头添加pylab的内嵌语句,pylab是 Matplotlib 和Ipython提供的一个模块,提供了类似Matlab的语法

%pylab inline
%matplotlib inline
import numpy as np  
import matplotlib.pyplot as plt  

#以自然数序列作为多项式的系数,使用polyld函数创建多项式  
func = np.poly1d(np.array([1,2,3,4]).astype(float))  
print func
#使用Numpy的linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值  
x=np.linspace(-10,10,30)  
#计算我们在第一步中创建的多项式的值  
y=func(x)  

plt.plot(x,y)  
plt.xlabel('x',fontsize=12)   
plt.ylabel('y(x)',fontsize=12)   
plt.show()
————————————————
版权声明:本文为CSDN博主「allinallinallin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/to_Baidu/article/details/52426732

jupyter(ipython)内嵌问题:%pylab inline的使用_allin_allin的恋爱小屋-CSDN博客_%pylab inlinejupyter内嵌问题,%pylab inline的使用在使用jupyter(ipython新版本)的画图的过程中遇到了一个有关内嵌命令的问题,将其记录如下。https://blog.csdn.net/to_Baidu/article/details/52426732

4. plt不接受可求导的tensor格式

import torch
import numpy as np
import pandas as pd
%matplotlib inline
%pylab inline

x = torch.arange(-8.0,8.0,0.1,requires_grad=True)
y = torch.relu(x)
plt.plot(x.detach(),y.detach())

plt不接受可求导的tensor格式 - 知乎问题是画出sin和sin的导数图像 解决: #tensor格式不能用plt来画图(plt.plot接受列表和numpy格式但是不接受tensor格式) x=np.linspace(1,10,200) z=torch.from_numpy(x) z.requires_grad_(True) # x=torch.linsp…https://zhuanlan.zhihu.com/p/427317195

5. pytorch中backward()函数详解

y.backward(torch.ones_like(x), retain_graph=True)

pytorch中backward()函数详解_m0_45275062的博客-CSDN博客_y.backward在最开始使用Pytorch时,关于反向传播函数,有时会报错,简单的说,如果你的Y值是个标量,那么直接使用:y.backward()就可以了,但是如果你的Y是个向量或矩阵,那么就不一样:y.backward(torch.ones_like(x))具体原因如下:(19条消息) pytorch中backward()函数详解_Camlin_Z的博客-CSDN博客...https://blog.csdn.net/m0_45275062/article/details/120090856

6. x.grad.data.zero_()莫忘记

y = torch.sigmoid(x)
plt.plot(x.detach(),y.detach())
x.grad.data.zero_()
y.backward(torch.ones_like(x),retain_graph=True)
plt.plot(x.detach(),x.grad)

7.tqdm西班牙语

tqdm源自阿拉伯语 taqaddum (تقدّم) ,意思是进程( “progress”),也是西班牙语中 “I love you so much” (te quiero demasiado)的缩写,听着就浪漫~。
该模块的作用就是使循环(loop)过程展示一个进度条,能够通过装饰tqdm(iterable)任何可迭代的对象,比如列表(list)。

8.import gc垃圾回收

对已经销毁的对象,Python不会自动释放其占据的内存空间。为了能够充分地利用分配的内存,避免程序跑到一半停止,要时不时地进行内存回收,这时候gc(garbage collector)就隆重登场啦!Python使用gc模块进行垃圾回收 - 简书最近在kaggle kernel上跑程序,kernel commit以后经常会跑到一半就显示完成了,且没有任何报错。大佬们说这是内存/显存/硬盘不足导致的,而我的问题则是由内...https://www.jianshu.com/p/b6a20c812ce4

9.wget命令

!wget http://mirror.coggle.club/image/cat.jpeg

wget是一个从网络上自动下载文件的自由工具

百度安全验证https://baijiahao.baidu.com/s?id=1712847758298794260报错:!wget 不是内部或外部命令,也不是可运行的程序 或批处理文件

解决:下载wget.exe放于当前工程目录下

Debug | ‘wget‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。_小鱼干的博客-CSDN博客_wget' 不是内部或外部命令,也不是可运行的程序报错信息'wget' 不是内部或外部命令,也不是可运行的程序 或批处理文件。分析在jupyter notebook使用!wget遇到了这个问题,查到发现wget是linux系统下,windows不自带。解决方法去wget官网下载,选择32位/64位,下载ZIP/EXE,将下载下来的EXE文件放到C:\Windows\System32即可。叨下后续:由于我用的是jupyter notebook。虽然windows的cmd可以用了,但是不能直接在jupyter cell里面使用!wget首先要说https://blog.csdn.net/weixin_43360896/article/details/111910872

10.model.parameters()与model.state_dict()

model.parameters()与model.state_dict() - 知乎model.parameters()与model.state_dict()是Pytorch中用于查看网络参数的方法。一般来说,前者多见于优化器的初始化,例如:后者多见于模型的保存,如: 当我们对网络调参或者查看网络的参数是否具有可复现性时,可…https://zhuanlan.zhihu.com/p/270344655

你可能感兴趣的:(深度学习,机器学习,人工智能)