Neural network Tensorflow-制作一个神经网络来处理简单的数组/列表输入

Neural network Tensorflow-制作一个神经网络来处理简单的数组/列表输入,neural-network,tensorflow,Neural Network,Tensorflow,我正试图用Tensorflow制作一个神经网络,但我很难弄清楚如何制作一个只需简单numpy数组/列表输入的网络。我尝试了以下Tensorflow教程,但大多数都使用mnist手写数据集 例如,我想要像这样简单的X和Y数据 X = np.array(([3, 5], [5, 1], [10, 2]), dtype=float) Y = np.array(([75], [82], [93]), dtype=float) 其中X由睡眠时间和为考试而学习的时间组成。 Y由这些考试中获得的相应分数组成

我正试图用Tensorflow制作一个神经网络,但我很难弄清楚如何制作一个只需简单numpy数组/列表输入的网络。我尝试了以下Tensorflow教程,但大多数都使用mnist手写数据集

例如,我想要像这样简单的X和Y数据

X = np.array(([3, 5], [5, 1], [10, 2]), dtype=float)
Y = np.array(([75], [82], [93]), dtype=float)
其中X由睡眠时间和为考试而学习的时间组成。 Y由这些考试中获得的相应分数组成。所有网络必须由2个输入节点、3-5个隐藏节点和一个输出节点组成

我一直试图遵循的例子是

以下内容来自堆栈溢出文档中的“使用Tensorflow启动Geting” (); 2017年版权归、、和所有;得到许可的 根据CC BY-SA 3.0。完整堆栈溢出的存档 文档内容可在archive.org上找到,其中 示例通过其主题ID:856进行索引,例如:4069

Tensorflow不仅仅是一个深度学习框架。它是一个通用计算框架,以并行和分布式方式执行通用数学运算。下面描述这样的示例

线性回归 一个常用且计算起来相当简单的基本统计示例是将一条直线拟合到数据集。在tensorflow中执行此操作的方法在下面的代码和注释中描述

(TensorFlow)脚本的主要步骤包括:

  • 声明占位符(
    x\u ph
    y\u ph
    )和变量(
    W
    b
  • 定义初始化运算符(
    init
  • 声明占位符和变量的操作(
    y\u pred
    loss
    train\u op
  • 创建会话(
    sess
  • 运行初始化操作符(
    sess.Run(init)
  • 运行一些图形操作(例如,
    sess.Run([train\u op,loss],feed\u dict={x\u ph:x,y\u ph:y})
  • 使用Python TysFooSoAPI API进行图形构造(也可以使用C++ TeaSoFoCEAPI)。运行图将调用低级C++例程。

    “”
    功能:创建一个线性模型,尝试拟合直线
    y=x+2,使用SGD优化器最小化
    均方根(RMS)损失函数
    '''
    导入tensorflow作为tf
    将numpy作为np导入
    #历元数
    num_epoch=100
    #训练数据x和标签y
    x=np.array([0,1,2,3.],dtype=np.float32)
    y=np.array([2,3,4,5.],dtype=np.float32)
    #将x和y转换为4x1矩阵
    x=np.重塑(x,[4,1])
    y=np.重塑(y,[4,1])
    #测试集(使用小技巧)
    x_检验=x+0.5
    y_检验=y+0.5
    #脚本的这一部分使用Python API构建TensorFlow图
    #首先声明输入x和标签y的占位符
    #占位符是TensorFlow变量,需要由一些
    #输入数据
    x_ph=tf.placeholder(tf.float32,shape=[None,1])
    y_ph=tf.placeholder(tf.float32,shape=[None,1])
    #变量(如果未指定)将作为GradientDescentOptimizer学习
    #正在运行
    #声明使用截断的_正态律初始化的权重变量
    W=tf.Variable(tf.truncated_normal([1,1],stddev=0.1))
    #声明偏差变量初始化为常量0.1
    b=tf.Variable(tf.constant(0.1,shape=[1]))
    #初始化刚刚声明的变量
    初始化所有变量()
    #在脚本的这一部分中,我们构建了存储操作的操作符
    #在前面的变量和占位符上。
    #型号:y=w*x+b
    y_pred=x_ph*W+b
    #损失函数
    损失=tf.mul(tf.reduce_mean(tf.square(tf.sub(y_pred,y_ph))),1./2)
    #创建训练图
    列车运行=tf.列车梯度降尘器(0.1).最小化(损失)
    #脚本的这一部分运行TensorFlow图(变量和操作)
    #运营商)刚刚建成。
    使用tf.Session()作为sess:
    #通过运行初始化器操作符初始化所有变量
    sess.run(初始化)
    对于xrange中的历元(num_历元):
    #按顺序运行列车运行和损失操作员
    #x_ph和y_ph占位符由变量x和y提供
    _,loss_val=sess.run([train_op,loss],feed_dict={x_ph:x,y_ph:y})
    打印('epoch%d:损耗为%.4f'(epoch,损耗值))
    #查看测试集中的模型
    #通过使用x_测试数据评估y_pred运算符
    test_val=sess.run(y_pred,feed_dict={x_ph:x_test})
    打印('地面真实值y为:%s'%y\u test.flatte())
    打印('预测y为:%s'%test\u val.flatte())