基于tensorflow搭建一个神经网络

一,tensorflow的简介

  Tensorflow是一个采用数据流图,用于数值计算的 开源软件库。节点在图中表示数字操作,图中的线 则表示在节点间相互联系的多维数据数组,即张量 它灵活的架构让你可以在多种平台上展开计算,例 如台式计算机中的一个或多个CPU(或GPU), 服务器,移动设备等等。Tensorflow最初由Google 大脑小组的研究员和工程师们开发出来,用于机器 学习和深度神经网络方面的研究,但这个系统的通 用性使其也可广泛用于其他计算领域。

二,tensorflow的架构

  TensorFlow的系统结构以C API为界,将整个系统分为「前端」和「后端」两个子系统。

  前端系统 提供多语言编程环境,提供统一的编程模型支撑用户构造计算图 通过Session的形式,连接TensorFlow后端的「运行时」,启动计算图的执行过程。

  后端系统 提供运行时环境,负责执行计算图。

三,tensorflow的简单实现步骤

  1,定义一个神经层的函数: 神经层里常见的参数通常有weights、biases和激励函数。

  2,导入数据 构建所需的数据。

  3,搭建网络 先定义隐藏层,再定义输出层,计算预测值和真实值的误差

  4,训练 给定次数,让机器开始学习。

  5,结果可视化

  代码如下:

  

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np

tf.set_random_seed(1)
np.random.seed(1)
#构建所需数据
x = np.linspace(-1, 1, 100)[:, np.newaxis]
noise = np.random.normal(0, 0.1, size=x.shape)
y = np.power(x, 2) + noise
#输入x和y
tf_x = tf.placeholder(tf.float32, x.shape)
tf_y = tf.placeholder(tf.float32, y.shape)
# 搭建神经网络
#隐藏层
l1 = tf.layers.dense(tf_x, 10, tf.nn.relu)
#输出层
output = tf.layers.dense(l1, 1)
loss = tf.losses.mean_squared_error(tf_y, output)
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.5)
train_op = optimizer.minimize(loss)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
plt.ion()
#训练
for step in range(100):
    _, l, pred = sess.run([train_op, loss, output], {tf_x: x, tf_y: y})
    if step % 5 == 0:
        plt.cla()
        plt.scatter(x, y)
        plt.plot(x, pred, ‘r-‘, lw=5)
        plt.text(0.5, 0, ‘Loss=%.4f‘ % l, fontdict={‘size‘: 20, ‘color‘: ‘red‘})
        plt.pause(0.1)
plt.ioff()
plt.show()

  运行结果如图:

  

四,总结

  以上为tensorflow的简单介绍,算是基础入门的案例了。往后学就是分类学习,CNN卷积神经网络,RNN循环神经网络了。

原文地址:https://www.cnblogs.com/lvsling/p/9255017.html

时间: 2024-10-23 05:57:41

基于tensorflow搭建一个神经网络的相关文章

基于jenkins搭建一个持续集成服务器

1 引言 1.1 编写目的 指导质量管理部,业务测试组同事进行Jenkins环境部署,通过Jenkins解决测试环境不可控,开发测试环境不一致等问题. 1.2 使用对象 质量管理部.基础研发部,集成部署部及EMT 目标受众: 本文的预期受众是从事持续交付或持续自动测试工作的软件工程师.要想按照本文中的步骤进行操作,您应该理解: 脚本开发. 软件开发流程. 1.3 持续集成概述 1.3.1 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成

如何入门Pytorch之二:如何搭建实用神经网络

在上一节中,我们介绍了Pytorch的基本知识,如数据格式,梯度,损失等. 本节中,我们将介绍如何使用Pytorch来搭建一个实用的神经网络. 搭建一个神经网络并训练,大致有这么四个部分: 准备数据,搭建模型,评估函数,优化网络权重 1.数据准备 数据准备在上一篇中已讲过,这里就不多赘述了. 2.搭建模型 层(神经网络的基本组建单元) 针对y=wx+b,搭建简单线性模型 from torch.nn import Linearinp = Variable(torch.randn(1,10))myL

[转]Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

本文转自:http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续

Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等. 主观的印象:Docker 使用 Go 语言编写,用 cgroup 实现

(转)一文学会用 Tensorflow 搭建神经网络

一文学会用 Tensorflow 搭建神经网络 本文转自:http://www.jianshu.com/p/e112012a4b2d 字数2259 阅读3168 评论8 喜欢11 cs224d-Day 6: 快速入门 Tensorflow 本文是学习这个视频课程系列的笔记,课程链接是 youtube 上的,讲的很好,浅显易懂,入门首选, 而且在github有代码,想看视频的也可以去他的优酷里的频道找. Tensorflow 官网 神经网络是一种数学模型,是存在于计算机的神经系统,由大量的神经元相

学会用tensorflow搭建简单的神经网络 2

#!/usr/bin/env python# _*_ coding: utf-8 _*_import tensorflow as tfimport numpy as np#add_layedef add_layer(inputs, in_size, out_size, activation_function=None): # add one more layer and return the output of this layer Weights = tf.Variable(tf.random

tensorflow构建一个简单神经网络

使用Tensorflow实现一个简单的神经网络 输入数据: 输入数据的形状是[300, 1], 也就是每个元素有一个特征,所以输入神经元是一个. 隐藏层: 输出神经元10个.输出数据会成为[300, 10]的形状.也就是300个元素,每个元素的特征变成了10个. 激活函数使用Relu 输出层: 输出数据是[300, 1] 不使用激活函数 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 添加层

基于tensorflow的CNN卷积神经网络对Fasion-MNIST数据集的分类器

写一个基于tensorflow的cnn,分类fasion-MNIST数据集 这个就是fasion-mnist数据集了 先上代码,在分析: import tensorflow as tf import pandas as pd import numpy as np config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.3 train_data = pd.read_csv('test.csv'

如何搭建一个基于 Egg + Webpack + Vue 的服务端渲染工程项目呢?

如何搭建一个基于 Egg + Webpack + Vue 的服务端渲染工程项目呢? 项目你可以通过 easywebpack-cli 直接初始化即可完成或者clone egg-vue-webpack-boilerplate.下面说明一下从零如何搭建一个Egg + Webpack + Vue 的服务端渲染工程项目. 通过 egg-init 初始化 egg 项目 egg-init egg-vue-ssr // choose Simple egg app 安装 easywebpack-vue 和 egg