TF之DNN:TF利用简单7个神经元的三层全连接神经网络实现降低损失到0.000以下(输入、隐藏、输出层分别为 2、3 、 2 个神经元)

目录

输出结果

实现代码


输出结果

实现代码

# -*- coding: utf-8 -*-import tensorflow as tf
import os
import numpy as np#TF:TF实现简单的三层全连接神经网络(输入、隐藏、输出层分别为 2、3 、 2 个神经元)
#隐藏层和输出层的激活函数使用的是 ReLU 函数。该模型训练的样本总数为 512,每次迭代读取的批量为 10。全连接网络以交叉熵为损失函数,并使用 Adam 优化算法进行权重更新。
import  tensorflow  as  tf
from  numpy.random  import   RandomState
batch_size= 10
w1=tf. Variable (tf.random_normal([ 2 , 3 ],stddev= 1 ,seed= 1 ))
w2=tf. Variable (tf.random_normal([ 3 , 1 ],stddev= 1 ,seed= 1 ))
# None 可以根据batch 大小确定维度,在shape的一个维度上使用None
x=tf.placeholder(tf.float32,shape=( None , 2 ))
y=tf.placeholder(tf.float32,shape=( None , 1 ))
#激活函数使用ReLU
a=tf.nn.relu(tf.matmul(x,w1))
yhat=tf.nn.relu(tf.matmul(a,w2))
#定义交叉熵为损失函数,训练过程使用Adam算法最小化交叉熵
cross_entropy=-tf.reduce_mean(y*tf.log(tf.clip_by_value(yhat, 1e-10 , 1.0 )))
train_step=tf.train. AdamOptimizer ( 0.001 ).minimize(cross_entropy)
#tf.train.AdamOptimizer(learning_rate).minimize(cost_function) 是进行训练的函数,其中我们采用的是 Adam 优化算法更新权重,并且需要提供学习速率和损失函数这两个参数。
rdm= RandomState ( 1 )
data_size= 516
#生成两个特征,共data_size个样本
X=rdm.rand(data_size, 2 )#X=rdm.rand(512,2) 表示随机生成 512 个样本,每个样本有两个特征值。
#定义规则给出样本标签,所有x1+x2<1的样本认为是正样本,其他为负样本。Y,1为正样本
Y = [[int(x1+x2 <  1 )]  for  (x1, x2)  in  X]
with  tf.Session()  as  sess:sess.run(tf.global_variables_initializer())print (sess.run(w1)) print (sess.run(w2))steps= 11000for  i  in  range(steps):#选定每一个批量读取的首尾位置,确保在1个epoch内采样训练         start = i * batch_size % data_sizeend = min(start + batch_size,data_size)sess.run(train_step,feed_dict={x:X[start:end],y:Y[start:end]})if  i %  1000  ==  0 :training_loss= sess.run(cross_entropy,feed_dict={x:X,y:Y})print ( "在迭代 %d 次后,训练损失为 %g" %(i,training_loss))

TF之DNN:TF利用简单7个神经元的三层全连接神经网络【2-3-2】实现降低损失到0.000以下相关推荐

  1. TF之DNN:利用DNN【784→500→10】对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程

    TF之DNN:利用DNN[784→500→10]对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程 目录 输出结果 案例理解DNN过程思路 代码设计 输出结果 案 ...

  2. 深度学习框架 TensorFlow:张量、自动求导机制、tf.keras模块(Model、layers、losses、optimizer、metrics)、多层感知机(即多层全连接神经网络 MLP)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 安装 TensorFlow2.CUDA10.cuDNN7.6. ...

  3. 使用tensorflow实现全连接神经网络的简单示例,含源码

    看别人的代码和自己写代码,两种的难度和境界真是不一样.昨天和今天尝试着写一个简单的全连接神经网络,用来学习一个基本的模型,在实现的过程中遇到了不少的坑,虽然我已经明白了其中的原理. 我想了一个教材上面 ...

  4. 简单的全连接神经网络(tensorflow实现)

    简单的全连接神经网络,网络结构为2-2-1 代码如下: #encoding='utf-8' """ created on 2018-08-10 @author wt &q ...

  5. [转载] python bp神经网络 mnist_Python利用全连接神经网络求解MNIST问题详解

    参考链接: Python中的单个神经元神经网络 本文实例讲述了Python利用全连接神经网络求解MNIST问题.分享给大家供大家参考,具体如下: 1.单隐藏层神经网络 人类的神经元在树突接受刺激信息后 ...

  6. 全连接神经网络(DNN)

    最近想要学习深度学习模型,没有一上来就先学习CNN.RNN.LSTM,而是先学习全连接神经网络(Fully Connected Neural Network),原因非常简单,上述所说的各种神经网络都是 ...

  7. 深度学习——神经网络之DNN全连接神经网络、BP算法原理

    深度学习--神经网络之DNN全连接神经网络.BP算法原理 深度学习--神经网络之DNN全连接神经网络.BP算法原理 1.啥是人工神经网络 2.神经网络的应用 3.神经网络的组成 3.1.神经元 3.2 ...

  8. TF girls系列(1)搭建二层全连接神经网络

    搭建的是如下图所示的二层神经网络. 输入层的神经元个数由图片的维度决定,教程中使用的是32x32x3的彩色图片,然后灰度化,得到32x32的灰度图,故输入层神经元个数是1024个,隐藏层神经元个数可以 ...

  9. DNN(全连接神经网络)

    一. DNN网络一般分为三层 1.输入层 2.隐藏层 3.输出层 简单网络如下: 二.前向传播 从第二层开始,每一个神经元都会获得它上一层所有神经元的结果.即每一个 y = wx + b的值. 具体分 ...

最新文章

  1. jq常用过滤器_Jquery过滤器
  2. chrome浏览器上传文件延迟_扫描识别工具Dynamic Web TWAIN使用教程:移动浏览器捕获(下)...
  3. 计算机应用教程 中级 平装,计算机应用中级教程
  4. 【pyqt5学习——信号与槽】实例计时器(解决界面卡顿问题)
  5. react(93)--成功置空
  6. 【Kafka】Kafka如何通过源码实现监控
  7. 图例解析四大UML关系图使用
  8. 极限编程的12个实践原则
  9. 方格稿纸(二维前缀和)
  10. 在线客服系统的功能有哪些是非常重要的?
  11. 【spring】切入点(Pointcut)、方面/切面(Aspect、Advisor)详解
  12. Kafka偏移量(Offset)管理
  13. JVM线程本地分配缓冲区(Thread Local Allocation Buffer)TLAB详解
  14. 【信号调理】ADC保护电路/ADC缓冲器
  15. 调用http时因为js问题遇到的一个报错
  16. android计时器秒,倒数计时器android秒不准确
  17. Photoshop系列_02简单制作一份海报
  18. for循环canvas渲染图片
  19. 关于如何使用打码平台识别验证码
  20. 麦麦养老:养老照护服务关键痛点及智慧养老解决路径实践案例解析

热门文章

  1. mysql 删除原理_MySQL权限原理及删除MySQL的匿名账户
  2. linux网卡驱动离线安装_新装Linux系统没有网卡驱动的解决办法和步骤
  3. 网易有道2017内推编程题
  4. centos7安装dhcp服务器并由客户端动态获取IP地址
  5. iOS系统 越狱系统还原(平刷)
  6. ASP excel导出/导入Access数据库(代码+实例下载)
  7. ArcGIS JS API加载GeoServer发布的WFS服务
  8. 干货 | 携程数据库发布系统演进之路
  9. 为什么不应该重写 service 方法?
  10. TensorFlow全新的数据读取方式:Dataset API入门教程