简介

深度学习(人工神经网络的研究的概念)
深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。

深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。

以往在机器学习用于现实任务时,描述样本的特征通常需由人类专家来设计,这成为“特征工程”(feature engineering)。

三类学习方法

通过设计建立适量的神经元计算节点和多层运算层次结构,选择合适的输人层和输出层,通过网络的学习和调优,建立起从输入到输出的函数关系,虽然不能100%找到输入与输出的函数关系,但是可以尽可能的逼近现实的关联关系。使用训练成功的网络模型,就可以实现我们对复杂事务处理的自动化要求。
(1)基于卷积运算的神经网络系统,即卷积神经网络(CNN)。
(2)基于多层神经元的自编码神经网络,包括自编码( Auto encoder)以及近年来受到广泛关注的稀疏编码两类( Sparse Coding)。
(3)以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(DBN)。

GPU介绍

CUDA:它所作用的对象是显卡,也就是GPU,有了它,程序开发人员就能够编码控制和使用GPU了,现在已经支持多种编程语言,比如C、C++和Fortran
使用GPU需要安装CUDA:https://developer.nvidia.com/cuda-toolkit-archive

CUDNN:CUDNN 是CUDA Deep Neural Network library 的缩写,也就是基于CUDA的神经网络软件包。可以类比JAVA中的JDK,也可以类比开源图像处理工具包openCV
下载地址:https://developer.nvidia.com/cudnn
需要填写一些注册信息,下载好之后,解压,里面有三个文件夹,分别把里面三个文件夹里面的文件复制到CUDA所安装的目录对于的同名文件夹中
添加环境变量,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
命令行tensorflow导包成功,说明安装完成

python深度学习库

(一)Tensorflow
google开发的开源深度学习框架,TensorFlow 采用静态图机制(预定义后再使用)
pip install tensorflow
使用GPU加速(显卡需要使用英伟达,并且独显大于等于3G):
tensorflow、cuda、cudnn之间的版本对应关系:
https://www.cnblogs.com/chen9510/p/10127030.html
https://blog.csdn.net/omodao1/article/details/83241074
https://www.cnblogs.com/gaofighting/p/9917456.html
TensorFlow2.0安装GPU参考:https://blog.csdn.net/wangbowj123/article/details/89381562

TensorFlow指定GPU与CPU:
(1)ConfigProto:
tf.ConfigProto一般用在创建session的时候。用来对session进行参数配置
#tf.ConfigProto()的参数
log_device_placement=True : 是否打印设备分配日志
allow_soft_placement=True : 如果你指定的设备不存在,允许TF自动分配设备
tf.ConfigProto(log_device_placement=True,allow_soft_placement=True)

(2)控制GPU资源使用率
#程序按需申请内存
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
#设置每个GPU应该拿出多少容量给进程使用,0.4代表 40%
gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.4)
config=tf.ConfigProto(gpu_options=gpu_options)
session = tf.Session(config=config)

(3)控制使用哪块GPU
#在程序开头
os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘0’ #使用 GPU 0
os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘0,1’ # 使用 GPU 0,1

(4)控制使用CPU
#在程序开头
os.environ[“CUDA_VISIBLE_DEVICES”] = “-1”

(5)cpu/gpu切换
“/cpu:0”: 机器中的 CPU
“/gpu:0”: 机器中的 GPU, 如果你有一个的话.
“/gpu:1”: 机器中的第二个 GPU, 以此类推…

(6)指派设备(https://www.cnblogs.com/tectal/p/9048184.html):
可以用 with tf.device 创建一个设备环境, 这个环境下的 operation 都统一运行在环境指定的设备上

# 新建一个 graph.
x=3
y=4
z=2
with tf.device('/gpu:1'):a=tf.multiply(x,x)b=tf.multiply(a,y)
with tf.device('/gpu:2'):c=tf.add(y,z)
# 新建 session with log_device_placement 并设置为 True.
sess=tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
# 运行这个 op.
d=tf.add(b,c)
print(sess.run(d))


Linux版本:
查看显卡:lspci |grep -i vga
CUDA:https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
CUDNN:https://developer.nvidia.com/rdp/cudnn-download

学习TensorFlow可以去github:
github网址
官方案例
Tesorflow游乐园

(二)Keras
keras封装了TensorFlow,使用的时候调用API简单易操作,就如同网络请求,requests.get(url)一行代码获取数据,requests.get(url)方法里面有很多代码,keras类似一个库。
pip install keras

(三)pytorch
Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。PyTorch采用动态图机制(运行时动态定义)
优点:简洁,速度快,易用,有活跃的社区
torch :类似 NumPy 的张量库,强 GPU 支持
原文链接:https://blog.csdn.net/bestrivern/article/details/89433023

安装:https://pytorch.org/get-started/locally/
Windows+CPU计算:pip install torch1.4.0+cpu torchvision0.5.0+cpu -f https://download.pytorch.ort/whl/torch_stable.html
CUDA是GPU计算(独显,英伟达,内存必须大于等于3G,如果是2G只能安装不能运行)
这个是GPU安装 pip install torch=1.4.0 torchvision=0.5.0 -f https://download.pytorch.org/whl/torch_stable.html

官网不给力的话可以使用:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pytorch
下载好whl之后pip install ***whl就可以了

(四)其他框架
如:百度的paddlepaddle,伯克利学校的caffe,亚马逊的mxnet

python深度学习介绍相关推荐

  1. python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移

    <python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...

  2. python参考手册 豆瓣_python之父亲自撰写两年后豆瓣评分9.8《python深度学习》PDF分享...

    <python深度学习>本书由Keras之父.现任Google人: 工智能研究员的弗朗索瓦.肖莱(Francois Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的 ...

  3. 备受期待的Python深度学习来了

    在这个酣畅淋漓的暑假结束后,深度学习的四大名著之一漂洋过海来见中国的程序员们啦,豆瓣评分9.5分的<Deep Learning with Python>,推出中译版--<Python ...

  4. 《python深度学习》代码中文注释

    <python深度学习>由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实 ...

  5. 怎么装python的keras库_Keras 教程: Python 深度学习终极入门指南

    在这篇 Keras 教程中, 你将学到如何用 Python 建立一个卷积神经网络! 事实上, 我们将利用著名的 MNIST 数据集, 训练一个准确度超过 99% 的手写数字分类器. 开始之前, 请注意 ...

  6. Python深度学习-快速指南

    Python深度学习-快速指南 (Python Deep Learning - Quick Guide) Python深度学习-简介 (Python Deep Learning - Introduct ...

  7. Python深度学习十大核心算法!

    深度学习已经成为了一种热门的技术,它的应用领域正在不断扩大.在深度学习中,有一些核心的算法是非常重要的,这些算法为深度学习的应用提供了强大的基础.在本文中,我们将介绍基于Python深度学习的十大核心 ...

  8. 386页《Python深度学习》电子书及源码下载

    一.<Python深度学习>内容介绍 本书由Keras之父.现任Google人工智能研究员的弗朗索瓦?肖莱(Franc.ois Chollet)执笔,详尽介绍了用Python和Keras进 ...

  9. Python深度学习(4):猫狗分类

    这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...

  10. 《Python深度学习从零开始学》简介

    #好书推荐##好书奇遇季#深度学习入门书<Python深度学习从零开始学>,京东当当天猫都有发售.从模型和实验入手,快速掌握深度学习技术. 业内大咖强力推荐!!!武汉大学信息管理学院教授 ...

最新文章

  1. 网页制作代码模板_简单的学生个人网页制作教程
  2. 一个通用的计数限制解决方案
  3. Mac普通用户修改了/etc/sudoers文件的解决办法
  4. java oss 批量传输_阿里云OSS对象存储,服务端签名后直传阿里云OSS
  5. mybatis实现一对多关系《DeptEmp》
  6. 3dmax天光渲染设置_【扮家家云渲染效果图】3dmax测试全局照明效果|干货教程...
  7. 线性表的链式存储-单链表
  8. metinfo mysql off_利用Sqlmap测试MetInfo企业网站管理系统MySql注入漏洞
  9. Python迭代文件对象
  10. redis expire超时操作
  11. 【转】解密微软的架构师之路
  12. opengl es3.0游戏开发学习笔记2--绘制地月星系
  13. 全志 Allwinner V3S 开发环境搭建 (一)虚拟机搭建 Oracle VM VirtualBox6.1 Ubuntu14.4
  14. sql server 2005 T-SQL ALTER SCHEMA (Transact-SQL)
  15. 如何通过excel表格批量生成word文档?
  16. 【致远FAQ】致远OA启动不起来了(上集)
  17. UNCODE 与 ANSI 编码互相转换
  18. mixpanel umeng talkingdata
  19. 删除快照出现提示框:删除时出错 字典问题
  20. 【鸿蒙学院】鸿蒙App开发直播学员提问与回答

热门文章

  1. Linux下安装Scala
  2. centos 6.5 安装qt5.2
  3. VS2010+OpenCV2.4.6永久性配置方法
  4. 奇怪的UIPanel控件
  5. 一张有转折意义的神秘地图
  6. 时域离散信号/系统(matlab)
  7. layui 之button 事件绑定的一种方法
  8. RHEL6 开启远程桌面
  9. git如何添加远程主机_Git由浅入深之远端主机(git remote)
  10. java中类初始化_java中类和对象的初始化