2018-07-20 16:32:30 weixin_37737254 阅读数 5
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

      深度学习大多用来处理图片、语言、视频和文本等大量非结构化数据,因而计算资源是进行深度学习开发的必要条件,想依靠windows单机玩深度学习恐怕不现实,基于linux和 gpu服务器的深度学习开发环境配置就显得尤为重要了。本节笔记就先学习下如何在 ubuntu16.04 系统下配置深度学习开发环境。

640?wx_fmt=jpeg

使用 xshell linux虚拟机工具

      使用 xshell 工具创建与linux服务器的连接,设置好主机地址和端口号,输入登录名和密码连上服务器。

640?wx_fmt=png

下载和更新显卡驱动

      先查看本机当前显卡信息:

ubuntu-drivers devices

640?wx_fmt=png

      依次执行下述命令:

sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update 
sudo apt-get install nvidia-384 nvidia-settings

      之后重启服务器使更新生效

sudo shutdown -r now

      重新连接服务器后查看当前的生效的显卡驱动

nvidia-smi

640?wx_fmt=png

安装CUDA8

      以CUDA8为例进行安装,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。安装CUDA的话首先必须去 Nvidia 官网下载对应的CUDA安装包:https://developer.nvidia.com/cuda-80-ga2-download-archive

      选择 cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb 进行下载:

640?wx_fmt=png

640?wx_fmt=png

      然后运行下列命令进行安装:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda

      安装完成之后在 ~/.bashrc 中设置CUDA的环境变量:

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

      完了之后运行 source ~/.bashrc 生效。再次运行 nvidia-smi 查看驱动信息如若报驱动不匹配的错误:

Failed to initialize NVML: Driver/library version mismatch

      这个问题出现的原因是kernel mod 的 Nvidia driver 的版本没有更新,一般情况下,重启机器就能够解决,如果因为某些原因不能够重启的话,也有办法reload kernel mod。依次执行下述命令即可解决:

lsmod | grep nvidia

640?wx_fmt=png

sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm
sudo rmmod nvidia
sudo lsof /dev/nvidia*
lsmod | grep nvidia

      最后再次输入 nvidia-smi即可查看到当前的驱动信息。

640?wx_fmt=png

安装cuDNN6.0

      cuDNN(CUDA Deep Neural Network library)是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。CUDA8.0的最佳匹配的cuDNN版本为6.0,所以我们到nvidia官网下载cuDNN6.0即可。但目前下载cuDNN需要注册nvidia账号才可下载,可能需要多费些周折。

640?wx_fmt=png

      下载完成后按照下列命令进行解压缩和安装:

tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
安装 anaconda 并创建虚拟环境

      下载anaconda 的 linux版本:

wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh

      执行bash命令进行安装:

bash Anaconda3-5.1.0-Linux-x86_64.sh

      安装完成后创建 anaconda 虚拟环境:

conda install -n 虚拟环境名称

      启动虚拟环境:

source activate 虚拟环境名称

      退出虚拟环境:

source deactivate 虚拟环境名称

安装深度学习主要计算框架

安装 tensorflow:

再安装一些其他的常用库即可搭建好深度学习开发环境。

  注:本深度学习笔记系作者学习 Andrew NG 的 deeplearningai 五门课程所记笔记,其中代码为每门课的课后assignments作业整理而成。

参考资料:

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8

往期精彩:


一个数据科学从业者的学习历程

640?
640?wx_fmt=jpeg
长按二维码.关注数据科学家养成记

2020-03-30 21:26:11 qq_41802192 阅读数 52
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

  LabVIEW是一款在自动化测试测量系统、自动化设备、智能制造设备行业常用的图形化开发软件。LabVIEW中有一个视觉开发模块(Vision Development Module),不仅包含传统的机器视觉算法,还具有一个TensorFlow模型导入器,可以导入TensorFlow深度学习模型,轻松实现深度学习应用。在这里插入图片描述

在LabVIEW中开发TensorFlow深度学习程序一共有两步

  • 第一步,使用TensorFlow训练深度学习模型;这一步,NI视觉开发模块并没有对应的软件工具,也没有详细介绍如何从零开始基于TensorFlow搭建深度学习模型训练环境,训练TensorFlow模型并导出模型导入器需要的*.pb文件。
  • 第二步:将深度学习模型部署至NI硬件;这一步,NI视觉开发模块有模型导入器和范例程序,参看NI官网介绍。

  1. 如何从零开始搭建TensorFlow深度学习模型训练环境?
  2. 如何从零开始训练自己的深度学习模型?
  3. 如何导出NI视觉模块的模型导入器需要的TensorFlow冻结图模型文件(*.pb)?

《深度学习图像识别技术》一书中有详细介绍!!
下载OpenVINO工具套件

2018-09-27 16:57:15 chinatelecom08 阅读数 1299
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

1. 安装显卡驱动

  • 检测显卡驱动及型号
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  • 添加ELPepo源
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  • 安装NVIDIA驱动检测
$ sudo yum install nvidia-detect
$ nvidia-detect -v
$ yum -y install kmod-nvidia

2. 安装CUDA\CUDNN

2.1 cuda

$ sudo sh cuda_9.0.176_384.81_linux.run
  • 测试cuda是否安装
$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

结果:
结果

2.2 cudnn

  • 下载cudnn文件,需要注册账号。
    https://developer.nvidia.com/cudnn
  • 安装下载好的cuDNN安装包,如果你安装cuda的目录为默认目录,就可以直接使用如下指令安装:
tar -xvf cudnn-9.0-linux-x64-v7.1.tgz -C /usr/local/

2.3 环境变量设置

  • 环境变量
$ vim ~/.bashrc
在其最后添加:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
  • cuDNN建立连接
$ cd /usr/local/cuda/lib64
$ sudo rm -rf libcudnn.so libcudnn.so.7  		#删除原有版本号,版本号在cudnn/lib64中查询
$ sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 	#生成软连接,注意自己下载的版本号
$ sudo ln -s libcudnn.so.7 libcudnn.so 
$ sudo ldconfig 	#立即生效

3. 安装TensorFlow-gpu

  • 安装anaconda,可以用来建立python3和TensorFlow的一些以来环境。
$ wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh	#下载anaconda
$ bash anaconda.sh		#安装anaconda
$ vim /root/.bashrc		#加入环境变量
	# 最后一行添加:
	export PATH="/root/anaconda3/bin:$PATH"
$ source /root/.bashrc
  • 安装TensorFlow
pip install tensorflow-gpu

测试

输入:

$ python
>>> import tensorflow

显示:

>>> import tensorflow
/root/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
>>> 

解决Driver/library version mismatch

https://mp.csdn.net/mdeditor/82181974

未报错,安装成功。

转载请注明出处。
https://blog.csdn.net/chinatelecom08

2019-04-22 20:10:24 NGUever15 阅读数 377
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

————————————————————————————
原文发表于夏木青 | JoselynZhao Blog,欢迎访问博文原文
————————————————————————————

深度学习教程与实战案列系列文章


深度学习 | 绪论
深度学习 | 线性代数基础
深度学习 | 机器学习基础
深度学习 | 实践方法论
深度学习 | 应用
深度学习 | 安装conda、opencv、pycharm以及相关问题
深度学习 | 工具及实践(TensorFlow)
深度学习 | TensorFlow 命名机制和变量共享、变量赋值与模型封装
深度学习 | TFSlim介绍
深度学习 | TensorFlow可视化
深度学习 | 训练及优化方法
深度学习 | 模型评估与梯度下降优化
深度学习 | 物体检测
深度学习| 实战1-python基本操作
深度学习 | 实战2-TensorFlow基础
深度学习 | 实战3-设计变量共享网络进行MNIST分类
深度学习 | 实战4-将LENET封装为class,并进行分类
深度学习 | 实战5-用slim 定义Lenet网络,并训练测试
深度学习 | 实战6-利用tensorboard实现卷积可视化
深度学习 | 实战7- 连体网络MINIST优化
深度学习 | 实战8 - 梯度截断
深度学习 | 实战9- 参数正则化


深度学习简介

应用

  • 视频图像
  • 语音 : 语音识别、语音合成、声纹识别
  • 自然语言处理:机器翻译、信息检索、舆情分析
  • 控制决策:游戏

深度学习基本原理

深度学习本质

机器学习:学习如何映射 F(x): 数据 ￿ 结果
数据规律复杂——F(x) 复杂
一把学出 F(x) 有点难,能不能简化?
在这里插入图片描述

深度学习vs传统机器学习

机器学习:手工设计特征和模型,并学习数据分布
深度学习:侧重从大量数据中直接学习高维、复杂的数据特征
在这里插入图片描述
机器学习: 实现人工智能的方法
深度学习: 机器学习的一种特殊形式,是一种表示学习
在这里插入图片描述

深度学习基本原理

来源:人工神经网络
实质:非常“深”的人工神经网络
目的:学习数据-> 特征
特点:多层表达,高层复杂特征是底层简单特征的抽象
在这里插入图片描述

深度学习发展的原因

  • 数据量:互联网提供了大量的数据,与日俱增的数据量推动了深度学习的发展。
  • 计算能力
    1. 摩尔定律
    2. 针对深度学习的GPU
    3. 人工智能芯片(TPU、Tesla)
  • 促进构建更深网络的算法发展:Relu、BP、Dropout

深度学习小结

  • 概念:源于神经网络,现在是一系列能够用来构建可组合可微分的体系结构的技术和方法
  • 相比传统机器学习:适用于从大量数据中学习复杂特征
  • 效果:实实在在的成效,突破弱人工智能,但强人工智能还远未达 到

Python 基础

Python特性

  • 开源的、解释性,面向对象编程语言
  • 优雅的语法,可读性强
  • 丰富的库,可处理各种工作
  • 支持类和多层继承等面向对象编程技术
  • 跨平台,如 Unix,Windows,MacOS 等等

使用python的知名项目

  • Reddit:社交分享网站,最早使用 Lisp 开发,在 2005 年转为 Python
  • Dropbox:文件分享服务
  • 豆瓣网:文青大本营
  • BitTorrent:BT 下载软件客户端
  • Civilization IV :《文明 4》
  • Google Groups、Gmail、Google Maps 等

搭建python编程环境

集成开发环境

  • Visual Studio:VS 下集成 python 开发环境, 目前仅支持 Windows, 调试、编辑和 C++ 在 VS 中类似
  • PyCharm:JetBrains 开发的 Python IDE,支持 MacOS、Windows、 Linux 等系统;
  • PyCharm 功能:调试、语法高亮、Project 管理、代码跳转、自动完 成、单元测试、版本控制…

安装Python

  • Anaconda: 可以便捷获取和管理 Python 库。包含 conda、Python 在内的超过 180 个科学库及其依赖项
  • 适用平台:Windows,macOS,Linux
  • 推荐使用对应 Python 3.6 的版本

只要装好了anaconda ,python就装好了。
验证是否装好了

conda --version

Python数据类型

Python基本数据类型

数字类型和布尔类型

  • 无需声明类型,系统根据变量赋值语句记性判定。

字符串类型

  • 用于深度学习程序中配置数据路径等信息
  • 两种定义方式,双引号和单引号

Python 容器类型

在深度学习的实践中,数据集扮演重要的角色
假设数据集 D 包含 N 个训练样本,每个样本为三维浮点数,并对 应一维整形标签
(1.73, 3.86, 2.50)-> 1 (2.56, 9.75, 3.21)-> 2
… 用基本数据类型难以定义 使用容器类型

列表(List)和元组(Tuple)

将list转为tuple

mytuple  = tuple(myList1)

列表和元组的设计目的

  • 列表:用于存储需要经常修改的内容
  • 元组:用于存储不希望改变的内容

列表和元组的具体区别:

  • 初始化后,列表可以改变而元组不可改变
  • 元组通常由不同的数据组成,列表是相同类型的数据队列
  • 元组表示的是结构,列表表示的是顺序
  • 元组可以作为字典的 key,但是列表不行

元组使用案例: 定义数据集 D 中的单个训练样本:
表示结构
不可改变
例如:(1.73, 3.86, 2.50)、(2.56, 9.75, 3.21) 等

列表使用案例: 定义整个数据集 D:
数据列表:包含所有训练样本元组:[(1.73, 3.86, 2.50), (2.56, 9.75,3.21), …]
标签列表:包含所有标签:[1, 2, …]
表示顺序
可以增减或修改数据

列表和元组的索引访问:
列表和元组的索引都是从0开始。

列表和元组的分片访问:

  • 基本方法:myList[0:3:1] [起点元素索引: 终点元素索引: 跨度]
  • 左闭右开:起点元素包含在结果中,终点元素不包含在结果中
  • 负数索引:从后往前计数,最后一个元素索引为-1

在这里插入图片描述
在这里插入图片描述
列表元素的批量修改:
在这里插入图片描述

字典

  • 存储键(key)值(value)对
  • 字典数据能够使用键名快速取回、添加、删除、编辑值
  • 数据集 D 也可以使用字典表示
    1. 键:训练数据(元组)
    2. 值:标签(整型数)
    在这里插入图片描述
    访问和修改字典:
  • 访问:通过键访问值
  • 修改:键不可直接修改,值可以修改
  • 添加键值对:直接添加
  • 删除键值对:del

通过[]来取键。
遍历字典:
在这里插入图片描述
字典类型下的更多函数:
在这里插入图片描述
pop之后就会从字典中删除。

集合

  • 使用大括号或者 set() 函数创建集合,
  • 注意:创建一个空集合必须用 set() 而不是,因为是用来创建一个 空字典
  • 可以使用列表创建集合
  • 在深度学习中可用来统计数据集类别数量
Labels_set= set(Labels)

集合的运算:
在这里插入图片描述
集合的操作:

  • 添加元素 s.add( x )
  • 移除元素 s.remove( x )
  • 计算集合元素个数 len(s)
  • 清空集合 s.clear()
  • 判断元素是否在集合中存在 x in s
  • 通过将数据集标签列表转为集合,可以获取类别数量等信息

Python 函数

Python使用def关键字创建函数:

def function_name(arg1,arg2...):
		# statement inside function

Python 函数仅支持返回一个值,可以通过返回元组的方式变相实现返回多个值。

在这里插入图片描述

常用Python库的使用

利用常用Python库处理股票指数预测问题

股票指数预测:

  • 通过第前 300 天的股市数据:X, 预测当天的收盘价: Y, 既是X→Y
  • 第前 300 天的股市数据 X = [x1, x2, …, xn]T 是包含多个特征的向 量,特征包括:
  1. 收盘价 x1
  2. 最高价与最低价的变化百分比 x2
  3. 收盘价与开盘价的变化百分比 x3
  4. 成交量 x4

线性回归

线性回归的定义:
在统计学中,线性回归 (Linear regression) 是利用称为线性回归方 程的最小二乘函数对一个或多个自变量和因变量之间关系进行线 性建模的一种回归分析
只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归

多元线性回归的形式:
在这里插入图片描述
需要解决的问题是多元回归。

Python 库

标准库 :
pprint,sys,os,…
第三方库
Numpy Scipy Matlibplot Scikit-learn Pandas …

第三方库配置

第三方库安装

conda install  <libname>

第三方库更新

conda update <libname>

第三方库的导入

import numpy
import numpy as np
from numpy import array

案例:使用第三方库进行股价预测

流程

在这里插入图片描述
Pandas 库:

  • 提供快捷处理结构化数据的大量数据结构和函数
  • 兼具高性能数据计算功能以及电子表格和关系型数据库的灵活数据处理功能
  • 提供大量适用于金融数据的高性能时间序列分析功能和工具

数据加载 (Pandas处理表格数据)

导入pandas 模块:

import pandas as pd

pandas.read_csv 模块:加载 csv 文件:

df = pd.read_csv(”googlestock.csv”)

df 数据类型:pandas.core.frame.DataFrame

将 df 修改为按时间戳索引,以便后续处理:

df[’Date’] = pd.to_datetime(df[’Date’]) 
df.set_index(”Date”, inplace=True)

将Date项变为索引项,不再是真正的数据
在这里插入图片描述
** 预处理 DataFrame 类型数据:**

df[’HL_PCT’] = (df[’Adj. High’] - df[’Adj.Close’]) / df[’Adj. Close’]
* 100.0 # 最高价与最低价的变化百分比

df[’PCT_change’] = (df[’Adj. Close’] - df[’Adj.Open’]) / df[’Adj.Open’] * 100.0 # 收盘价与开盘价的变化百分比

df = df[[‘Adj. Close’, ‘HL_PCT’, ‘PCT_change’,‘Adj.Volume’]] # 最终进行预测时需要的特征

df[‘label’] = df[‘Adj. Close’].shift(300) # 标签:以收盘价为预测指标,每一项特征对应的标签为 300 个时间片之后的股价

得到的数据结果:
在这里插入图片描述

数据格式转换(Numpy)

NumPy

python 科学计算的基础包

  • Numerical Python
  • 快速高效的多维数组对象 ndarray
  • 用于对数组执行元素级计算及直接对数组执行数学运算的函数
  • 用于读写磁盘上基于数组的数据集工具
  • 线性代数运算、傅里叶变换、随机数生成
  • 将 C、C++、Fortran 代码集成到 Python 工具
  • 算法之间传递数据的容器

ndarray可以作为数据类型转化的桥梁。

NumPy 数组的创建:向 array 中传入一个 list:

  • 一维数组: np.array([1,2,3])
  • 二维数组: np.array([[1,2,3],[4,5,6]])
  • 随机数组: x = np.random.rand(10)

显示数组元素的属性
在这里插入图片描述
改变数组元素类型
在这里插入图片描述
改变数组的尺寸:reshape方法
在这里插入图片描述
将reshape 的某个参数指定位-1时,numpy会根据实际数组元素个数自动替换-1 为具体的大小。
常用于数据量比较大的时候。
在这里插入图片描述
元素所以(基于列表和元组的索引方式):从零开始,左闭右开。
在这里插入图片描述
使用布尔型索引
在这里插入图片描述
使用条件索引
在这里插入图片描述
元素修改
在这里插入图片描述
多维数组的索引和切片
在这里插入图片描述
多维数组的布尔索引和切片
在这里插入图片描述
ufunc操作:可对数组的每个元素进行操作的函数
在这里插入图片描述
四则运算符同样具有ufunc属性
在这里插入图片描述
比较操作
在这里插入图片描述
矩阵乘法
在这里插入图片描述
文件存取(假设有数组array为a,类型为int32)
在这里插入图片描述
将 DataFrame 的数据转换成 Numpy 矩阵,并分为数据和标签,以 便下一步处理
在这里插入图片描述
然后可以利用 Scikit-learn 等第三方库对 X 和 y 做进一步处理

数据预处理(Scikit-learn)

  • python 机器学习库
  • 进行数据挖掘和数据分析的简单而高效的工具
  • 基于 NumPy,SciPy 和 matplotlib 构建
  • 支持数据预处理、降维、回归、聚类、分类等操作

在这里插入图片描述
案例 1:数据预处理
sklearn.preprocessing.scale 模块:数据零均值化和单位方差化在这里插入图片描述
案例 2:数据特征降维
sklearn.decomposition.PCA 模块:PCA 数据降维
在这里插入图片描述
案例 3:数据集处理
sklearn. model_selection.train_test_split 模块:快速划分训练集与测 试集
在这里插入图片描述
案例 4:机器学习模型
sklearn.linear_model. LinearRegression 模块:线性回归
举例:用线性回归做直线拟合 (注意:之前股票回归的线性回归是 做多元数据预测)
在这里插入图片描述

股价预测程序:对调用 Numpy 生成的数据和标签矩阵 X 和 y,使 用 Scikit-learn 进行进一步处理:
在这里插入图片描述

完成数据规范化和训练测试集划分之后,调用线性回归模块进行
回归预测
在这里插入图片描述

clf = sklearn.linear_model.LinearRegression() # 定 义 线 性回归器
clf.fit(X_train, y_train) # 开 始 训 练
accuracy = clf.score(X_test, y_test) # 测 试 并 得 到 测 试 集性能
forecast_set = clf.predict(X_lately) # X_lately: 一 部 分不包括在训练和测试集中的数据,用于生成股价预测结果

结果可视化(Matplotlib)

完成线性回归训练和预测之后,下一步需要输出预测结果

结果可视化工具(matplotlib)

  • matplotlib.image 模块:图像操作
  • matplotlib.pyplpot 模块:显示图像
    在这里插入图片描述

实现数据可视化

在这里插入图片描述

股价预测程序的结果绘制分成两个部分:
(1)已有的收盘价格数 据;
(2)预测的未来收盘价
在这里插入图片描述
绘制出来的效果
在这里插入图片描述

第三方库:Scipy

  • 基于 Numpy 之上,操控 Numpy 数组进行科学计算

  • 专门解决科学计算中各种标准问题域的包的集合

  • 数值积分、矩阵分解、信号处理、稀疏矩阵和线性系统求解器、统 计工具等。

    1. scipy.io:加载和保存 MATLAB 文件
    2. scipy.linalg:包含一系列线性代数操作
    3. Scipy.optimize:优化和拟合

Scipy.io 模块:保存和加载 MATLAB 文件 (mat)
在这里插入图片描述

  1. scipy.linalg 模块:标准的线性代数操作
    scipy.linalg.det() 函数:计算方阵的行列式
    scipy.linalg.inv() 函数:矩阵求逆
  2. scipy.fftpack:快速傅立叶变换

scipy.optimize:优化和拟合
在这里插入图片描述
绘制效果如下:
在这里插入图片描述

2019-08-05 22:44:19 qq_26572229 阅读数 97
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

决定用两个星期读完这本书,并自己用Pytorch搭建一个模型。

2019.8.5

第一章深度学习介绍

明确学习目标:

  • 深度学习难点不是深度学习本身,难的是你要吃透问题,如何用深度学习的逻辑去思考你自己的问题,有针对性地设计模型
  • 难的是你有分析问题贺结果的能力,遇到负面结果不是抓瞎。

 

2019.8.6

第三章 PyTorch基础知识

在GPU上Tensor 加速计算,常见Tensor类型:

Date CPU tensor GPU tensor
32-bit floating point torch.FloatTensor  torsh.cuda.FloatTensor
64-bit floating point torch.DoubleTensor  torsh.cuda.DoubleTensor
16-bit floating point torch.HalfTensor  torsh.cuda.HalfTensor
8-bit integer(unsigned) torch.ByteTensor  torsh.cuda.ByteTensor
8-bit integer(signed) torch.CharTensor  torsh.cuda.CharTensor
16-bit integer(signed) torch.ShortTensor  torsh.cuda.ShortTensor
32-bit integer(signed) torch.IntTensor  torsh.cuda.IntTensor
64-bit integer(signed) torch.LongTensor  torsh.cuda.LongTensor

构造矩阵:torch.Tensor(4,5)#4*5矩阵

矩阵加法:torch.add(a,b) # 矩阵a+b

Tensor转numpy:b=z.numpy()#z转numpy

numpy转Tensor:#

去除dim维并返回:torch.squeeze(input,dim,out=None)

数学操作:torch.abs/torch.acos/torch.add

数理统计:torch.mean(input)/torch.mean(input,dim,out=None)#输入张量input指定维度dim中每行的平均值

比较操作:torch.eq#比较元素相等/torch.ge/torch.gt

 

2019.8.7.

第四章 简单案例入门

Ubuntu系统搭建深度学习开发环境

博文 来自: jlqCloud

深度学习工具汇总

阅读数 6567

没有更多推荐了,返回首页