b站:https://www.bilibili.com/video/av49008640?from=search&seid=1948895375346759661
1234课程
第一课
5大阵营
发展图
最强两个
两个区别在于动态图优先,
还是静态图优先
动态图 pytorch
静态图 tf
1 先写出公式,图的创建z=x*y
2 赋予具体数值,进行创建
一旦定义好,bunengzaigaibia
相比之下动态图更容易调试,更改
第二课
框架比较
pytorch 好上手
pytorch 学术界更认可
pytorch 兼容caffe2
tf2 有动态图和静态图(刚发布)
tf2 与f1不兼容
我之前在使用的是tf 1.6.0,已经被谷歌抛弃
工业界,学术界 选择
生态
nlp这块 有两家
视觉类 有torch vision
图像类 geometric
ai这块 fast.ai
部署在移动机器上线有协议 ONNX
pytorch功能:GPU加速
import
cpu
cuda +运行
运行第二次
结果
1 cpu
2 GPU 第一次,需要热机所以慢
3 GPU 比CPU快了50倍
完成下面自动求导过程
实现
PS:补充 Darknet介绍
原文:https://blog.csdn.net/NcepuKZH/article/details/90673498
Darknet深度学习框架
是由Joseph Redmon提出的一个用C和CUDA编写的开源神经网络框架。它安装速度快,易于安装,并支持CPU和GPU计算。
https://github.com/pjreddie/darknet
darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析
https://github.com/hgpvision/darknet
为什么选择darknet?
相比于TensorFlow来说,darknet并没有那么强大,但这也成了darknet的优势:
1、darknet完全由C语言实现,没有任何依赖项,当然可以使用OpenCV,但只是用其来显示图片、为了更好的可视化;
2、darknet支持CPU(所以没有GPU也不用紧的)与GPU(CUDA/cuDNN,使用GPU当然更块更好了);
3、正是因为其较为轻型,没有像TensorFlow那般强大的API,所以给我的感觉就是有另一种味道的灵活性,适合用来研究底层,可以更为方便的从底层对其进行改进与扩展;
4、darknet的实现与caffe的实现存在相似的地方,熟悉了darknet,相信对上手caffe有帮助;
结构:
1.cfg文件夹内是一些模型的架构,每个cfg文件类似与caffe的prototxt文件,通过该文件定义的整个模型的架构
2.data文件夹内放置了一些label文件,如coco9k的类别名等,和一些样例图(该文件夹主要为演示用,或者是直接训练coco等对应数据集时有用,如果要用自己的数据自行训练,该文件夹内的东西都不是我们需要的)
3.src文件夹内全是最底层的框架定义文件,所有层的定义等最基本的函数全部在该文件夹内,可以理解为该文件夹就是框架的源码;
4.examples文件夹是更为高层的一些函数,如检测函数,识别函数等,这些函数直接调用了底层的函数,我们经常使用的就是example中的函数;
5.include文件夹,顾名思义,存放头文件的地方;
6.python文件夹里是使用python对模型的调用方法,基本都在darknet.py中。当然,要实现python的调用,还需要用到darknet的动态库libdarknet.so,这个动态库稍后再介绍;
7.scripts文件夹中是一些脚本,如下载coco数据集,将voc格式的数据集转换为训练所需格式的脚本等
8.除了license文件,剩下的就是Makefile文件,如下图,在问价开头有一些选项,把你需要使用的选项设为1即可