针对Tensorflow初学者,下面是一个非常简单的入门程序。
程序的目标是训练一个具有2个输入神经元、3个隐含层神经元和一个输入出神经元的神经网络,实现二进制逻辑与功能。
因此训练数据只有 (0,0) (0,1) (1,0) (1,1)四组
输出为 0,0,0,1
这个程序几乎设计Tensorflow的很多细节。从张量图构造,训练,模型保存,模型验证等等。
#!/usr/bin/python3
#用TensorFlow训练“与”功能的神经网络
#道老师 2019-12-08
#该程序在 CentOS7.0
#GPU Quadro P5000 NVIDIA-SMI 430.50 Driver Version: 430.50 CUDA Version: 10.1
#Tensorflow.version=1.10.0 下运行正常
import tensorflow as tf
import numpy as np
import time
import logging
import sys
import math
#日志打印,%(asctime)s 时间,%(message)s代表后面的要输出的内容
logging.basicConfig(format='%(asctime)s: %(message)s',
level=logging.DEBUG,
stream=sys.stdout)
MODEL_PATH = "./models/" #模型参数保存地址
SUMMARY_PATH = "./logs/" #训练过程中的信息输出保存地址,主要用于tensorboard可视化
NUM_EPOCHS = 1000 #最大迭代次数
INPUT_SIZE = 2 #输出层神经元个数,由于是0,1的与,所以输入