热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python数据拟合第三方库_python应用之基于tensorflow的数据拟合:深度学习之预测入门篇...

实验目的:1、了解python在深度学习领域的应用2、学习安装python第三方依赖库实验环境:已正确安装python3.5以及依赖库tensorflo

实验目的:1、了解python在深度学习领域的应用

2、学习安装python第三方依赖库

实验环境:已正确安装python3.5以及依赖库tensorflow、matplotlib

预测过程展示:

1、应用领域

python是一种高级面向对象的动态类型语言,具有开发高效,学习简单的特点,主要应用于大数据、深度学习、机器学习、以及Web开发等领域,具有良好的发展前景。

2、依赖库的安装方法

(1)在线直接安装

在命令行模式下利用pip命令安装,命令格式:pip install XXX,如:

pip install tensorflow#安装tensorflow第三方依赖库

pip install matplotlib#安装matplotlib第三方依赖库

(2)离线安装

离线安装适用于网络较差时,可以在https://pypi.org/处搜索下载安装包,然后在命令 行切换到安装包目录利用pip命令安装。

3、原始数据准备

在训练深度学习模型之前必须转备好训练数据,本文以y=2x为训练目标进行实验:

import numpy as np #导入数值计算模块

import matplotlib.pyplot as plt#导入画图模块

#准备数据

train_x=np.linspace(-1,1,100)#生成1*100的数组

train_y=2*train_x+np.random.randn(*train_x.shape)*0.5#生成训练数据时加入了噪声

#数据以图片展示

fig=plt.figure()

ax=fig.add_subplot(1,1,1)

ax.scatter(train_x,train_y)

ax.plot(train_x,train_y,'r*',label='Original Data')

plt.legend()

plt.ion()

plt.show()

编辑好以上代码后,运行生成的结果如图

4、搭建训练模型

搭建训练模型是深度学习比较重要的一个环节,简单的说它是一个运算规则,本文以一个神经元为例搭建计算模型。

X=tf.placeholder("float")#定义占位符,作用:输入训练值

Y=tf.placeholder("float")#定义占位符,作用:输入标准值

W=tf.Variable(tf.random_normal([1]),name="weight")#定义权重

b=tf.Variable(tf.zeros([1]),name="bias")#定义偏执,类似于噪声

z=tf.multiply(X,W)+b#定义计算结构之前向结构

在定义好计算结构之后,需要定义优化规则

cost=tf.reduce_mean(tf.square(Y-z))#定义以训练值与预测值的均方根误差为评判准则

learn_rate=0.01#定义学习率

optimizer=tf.train.GradientDescentOptimizer(learn_rate).minimize(cost)#定义训练方法(以梯度下降的方法进行训练,以误差:cost达到最小为目标)

5、模型训练

上一步骤就类似于画出了计算规则的蓝图,但是其并未进行运算,需要初始化变量、定义会话并在会话中利用run()方法启动图的运算,这也是tensorflow的一个特点

init=tf.global_variables_initializer()#定义初始化变量的对象

training_epochs=25#定义迭代训练次数

display_step=2#定义可视化步长

with tf.Session() as sess:#定义会话

sess.run(init)

for epoch in range(training_epochs):

for (x,y) in zip(train_x,train_y):

sess.run(optimizer,feed_dict={X:x,Y:y})

if epoch % display_step == 0:

loss = sess.run(cost,feed_dict={X:train_x,Y:train_y})

print("Epoch:",epoch+1,"cost=",loss,"W=",sess.run(W),"b=",sess.run(b))

#动态可视化定义

try:

ax.lines.remove(lines[0])#先抹除旧线再去画新线

except Exception:

pass

lines=ax.plot(train_x,train_x*sess.run(W)+sess.run(b),'b-',label='pridect Data')

plt.pause(8)

plt.legend()

预测结果图

预测过程参数输出



推荐阅读
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有