Tensorflow建一个神经网络,输出数据只有一个谱型,且杂乱

建了一个神经网络,输入节点3个,输出250个,两个隐藏层,节点数分别为200个。
训练数据集为100000个。运行完后用测试集验证,发现预测的谱线杂乱无章,跟测试的谱线集完全无关,从图中看感觉是在一个谱型附近震荡。
初学者不明白是什么原因,不知有没有大神可以稍加指教。

import tensorflow as tf
import numpy as np
# 添加层
def add_layer(inputs, in_size, out_size,n_layer,activation_function=None):
          Weights = tf.Variable(tf.random_normal([in_size, out_size]))
          Wx_plus_b = tf.matmul(inputs, Weights)
          if activation_function is None:
           outputs = Wx_plus_b
          else:
               outputs = activation_function(Wx_plus_b)
          return outputs
# 1.训练的数据
p_1= np.loadtxt('D:p_train.txt')
p=np.reshape(p_1,(3,100000))
s_1= np.loadtxt('D:s_train.txt')
s=np.reshape(s_1,(250,100000))
pmin=p.min()
pmax=p.max()
p_train=(p-pmin)/(pmax-pmin)
smin=s.min()
smax=s.max()
s_train=(s-smin)/(smax-smin)
p_train=np.transpose(p_train)
s_train=np.transpose(s_train)
p_train=p_train.tolist()
s_train=s_train.tolist()
# 2.测试的数据
p_2=np.loadtxt('D:p_test.txt')
p2=np.reshape(p_2,(3,5501))
s_2=np.loadtxt('D:s_test.txt')
s2=np.reshape(s_2,(250,5501))
pmin2=p2.min()
pmax2=p2.max()
p_test=(p2-pmin2)/(pmax2-pmin2)
smin2=s2.min()
smax2=s2.max()
s_test=(s2-smin2)/(smax2-smin2)
p_test=np.transpose(p_test)
s_test=np.transpose(s_test)
p_test=p_test.tolist()
s_test=s_test.tolist()

# 3.定义占位符 
px = tf.placeholder(tf.float32, [None, 3])
sx = tf.placeholder(tf.float32, [None,250])
sy=tf.placeholder(tf.float32,[None,250])
# 4.定义神经层:隐藏层和预测层
l1 = add_layer(px, 3, 200, n_layer=1,activation_function=tf.nn.sigmoid)
l2=add_layer(l1,200,200,n_layer=2,activation_function=tf.nn.sigmoid)
prediction = add_layer(l2, 200, 250, n_layer=3,activation_function=None)

# 5.定义 loss 表达式 mse
loss = tf.reduce_mean(tf.square(sx - prediction))
#loss2

# 6.选择 optimizer 使 loss 达到最小                   
train_step = tf.train.AdamOptimizer(0.01,epsilon=1e-8).minimize(loss)

#7.初始化变量
init=tf.initialize_all_variables()
#8.定义会话
sess = tf.Session()
#9.运行
sess.run(init) 
#10.查看loss变化
for step in range(1000):
   sess.run(train_step, feed_dict={px:p_train, sx:s_train})
   if step % 50 == 0:    
        print(sess.run(loss,feed_dict={sx:s_train,px:p_train}))

prediction_test=sess.run(prediction,feed_dict={px:p_test})

2个回答

可以试着调整神经层的结构和模型的超参数,试着多次调整达到对每个参数的理解,建议可以先简要看看莫烦的视频教程,对各个参数有个大致了解,这是链接https://morvanzhou.github.io/

weixin_38960656
weixin_38960656 超级感谢,扩大了几倍训练次数,结果好了很多!
9 个月之前 回复

你看到人家的神经网络做得很好,那是不断调整模型反复优化参数才做出来的。
你这么随便一个数据集,然后随便定义一个模型,随便一算,如果就算出来很好的效果,那才见鬼呢。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
TensorFlow:一个简单的神经网络
利用TensorFLow实现第一个简单的神经网络 #encoding:utf-8 import tensorflow as tf # NumPy生成模拟数据集 from numpy.random import RandomState # 定义训练数据batch大小 batch_size = 8 # 定义神经网络的参数, w1 = tf.Variable( tf.random_normal(
tensorflow建立一个简单的神经网络
本笔记目的是通过tensorflow实现一个两层的神经网络。目的是实现一个二次函数的拟合。如何添加一层网络代码如下:def add_layer(inputs, in_size, out_size, activation_function=None): # add one more layer and return the output of this layer Weights =
tensorflow实现一个简单的神经网络
import tensorflow as tf import numpy as np from matplotlib import pyplot as plt from matplotlib.animation import FuncAnimation # add a layer to nerual network def add_layers(inputs, in_size, out_size...
Tensorflow搭建一个简单的神经网络
搭建神经网络的八股:准备,前传,反传,迭代 1. 准备:import相关模块,输入相关数据集 2. 前向传播:搭建网络结构:定义输入,参数和输出。例如x=,y_=,w1=,w2=,a=,y=, 3. 反向传播:训练网络参数:定义损失函数,反向传播方法loss=,train_step= 4. 生成会话,训练steps轮 例:生成如下图的神经网络模型 #本函数模型没有反传,为最...
Tensorflow 构造一个简单的神经网络
神经层里常见的参数通常有weights、biases和激励函数。看demo#coding:utf-8 import tensorflow as tf #定义添加神经层的函数def add_layer(),它有四个参数: #输入值、输入的大小、输出的大小和激励函数,我们设定默认的激励函数是None def add_layer(input,input_size,output_seiz,activatio
Tensorflow构建一个简单的神经网络
假设输入层一个,隐藏层10个,输出层一个神经元import tensorflow as tfimport numpy as np #define add a neural layer def add_layer(inputs, in_size, out_size, activition_function=None): # add one more layer and return the o
利用tensorflow 搭建一个神经网络
import tensorflow as tf import numpy as np #我们用 tf.Variable 来创建描述 y 的参数. # 我们可以把 y_data = x_data*0.1 + 0.3 想象成 y=Weights * x + biases, # 然后神经网络也就是学着把 Weights 变成 0.1, biases 变成 0.3. x_data = np.float...
TensorFlow杂乱的笔记
2018/5/8 tensorflow 分配显存的问题:如果程序中不指定,tensorflow 默认分配全部显存,指定分配内存的代码如下: import tensorflow as tf config = tf.ConfigProto() # 设置每个进程 GPU 最大占用量 config.gpu_options.per_process_gpu_memory_fraction = 0.5 ...
一个奇怪的double型数据输出问题
#include rnvoid main()rn double a=8.86;rn printf("%.16g",a);rnrnrn此时输出为8.859999999999999;小数点后边为什么还没有16位呢?rn若将printf("%.16g",a);改为printf("%.15g",a);则准确输出8.86;rn请问这是为什么?急求高手解答。
建一个数据的问题
建一个大学生档案管理,其中一个学科是问题我一直不知道怎么建表,比方张三的专业课是A1,A2,B3,C2,选修课是B1,C1,D3,而其他课是不学是,李四专业课是A1,B1,B2,C5,选修课是A4,A5,B3,C4,王五的专业课是A4,A5,B2,C3,选修课是A1,B1.C1.C2,如何建这种表,后面还要涉及到结业成绩,科目太多,学生太多,怎样设计这种数据库,简洁,方便,快速
TensorFlow的一个简单输出Demo
TensorFlow程序 简单输出程序 """ TensorFlow程序 简单输出程序 """ from __future__ import print_function # 导入tensorflow的包 import tensorflow as tf # try except try: tf.contrib.eager.enable_eager_execution() exce...
tensorflow 输出一个2x3 的矩阵
import tensorflow as tf#w1= tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))print("e2")with tf.Session() as sess :    print( type( sess ) )    w1= tf.Variable([[1,2,3],[10,20,30]])    init_op =...
为什么输出只有一个结果。
#include rnusing namespace std;rnrnstruct Pointrnrn double x,y;rn void setXy(double a, double b)rn rn x = a;rn y = b;rn rn void Display()rn rn cout<
验证数字和有且只有一个小数点
用js来验证文本框只能输入数字或者数字带有小数点的数字 而且小数点只能有一个 不能输入汉字或者字母。
char型数据的输出
#include #include using namespace std; int main() {     string a1,a2;     cout     cin >> a1;     cout     cin >> a2;     int age;     char ch;     cout     cin >> ch;     c
tensorflow学习笔记——定义神经网络的一个隐藏层
描述 常见的神经网络,如前馈神经网络,BP神经网络,自动编码器等,参数一般是权重W,偏置b以及激活函数activation function。 在具体应用一个神经网络模型前,通过tensorflow提前定义一个神经网络的添加层是很容易,也是很有必要的 源代码 #coding:utf-8 #导入tensorflow模块 import tensorflow as tf #定义一个添加层 ...
用tensorflow搭建一个简单的神经网络
在神经网络板块断断续续进行了4个月的摸索,逐渐形成了自己对这个领域的认识,写成博客一是为了分享自己的观点,希望不足之处能得到指正;二是作为读书周记,能督促自己能不要停下来更新博客,持续学习。好了以下就是我的第一章,用tensorflow搭建一个简易的(没有隐藏层的)神经网络。用Tensorflow实现Softmax Regression识别手写数字,数据集为MNIST 思路: 1)我们在实现手写...
tensorflow学习:建立一个最简单的神经网络
程序功能:使用y= x^2 - 0.5加噪声生成1000个样本点,然后搭建一个最简单的神经网络学习 import tensorflow as tf import numpy as np def add_layer(input_data, input_size, output_size, activation_function = None): ''' input_da
利用tensorflow构造一个简单的神经网络
1,定义一个“添加层”函数import tensorflow as tf def add_layer(inputs,in_size,out_size,activation_function=None): Weights = tf.Variable(tf.random_normal([in_size,out_size])) biases = tf.Variable(tf.zeros
一个基于Tensorflow的神经网络机器翻译系统
一个基于Tensorflow的神经网络机器翻译系统 Github地址:https://github.com/zhaocq-nlp/NJUNMT-tf 系统完全基于Tensorflow最基本的array_ops,math_ops, nn_ops实现。 实现了: 1. sequence-to-sequence model 2. transformer 3. model ensemble
Tensorflow一个很简单的神经网络求解常微分及偏微分方程
最近才入门深度学习不久,在看了arxiv.org上1902这篇文章使用神经网络在不需要已知解析解情况下就能求解常微分方程及偏微分方程的数值解,精度也很不错,自己也尝试了下,最终成功复现论文作者的结果,将代码展示一下,供需要的同学使用,才疏学浅,其中可能存在的谬误还请及时评论。 网络结构 论文作者采用了一个很简单的网络结构,即只有一个单隐层的前馈神经网络(NN)且只有10个神经元,其...
【TensorFlow 学习】如何实现一个简单的神经网络
通过 TensorFlow 训练神经网络模型 可以使用监督学习的方式来更合理的设置参数取值 。 设置神经网络参数的过程就是神经网络的训练过程。 监督学习 **重要思想:**在已知答案的标注数据集上,模型给出的预测结果要尽量接近真实的答案。 通过调整神经网络中的参数对训练数据进行拟合,可以使得模型对未知的样本提供预测的能力。 神经网络的优化算法中,最常用的是反向传播算法。 训练神经网络的...
[机器学习]利用TensorFlow训练一个简单的神经网络
利用TensorFlow训练一个简单的神经网络 我们在这里利用TensorFlow的Eager Execution 来构建模型,这样不用像以前一样创建Graph和Session了,可以使神经网络的训练更加方便快捷,下面以Iris数据集为例来训练一个神经网络,代码来自谷歌的教程。 #先导入相关的库 from __future__ import absolute_import,division...
用tensorflow建造一个简单的神经网络
reference:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/3-2-create-NN/ 这篇文章主要讲怎样建造一个完整的神经网络,包括添加神经层,计算误差,训练步骤 定义一个添加层神经层函数 我们知道一个神经网络可能包含很多个隐藏层,所以如果我们定义一个添加层函数,在后面如果需要增加神经层就只
tensorflow实现一个神经网络简单CNN网络
本例子用到了minst数据库,通过训练CNN网络,实现手写数字的预测。首先先把数据集读取到程序中:mnist = input_data.read_data_sets('MNIST_data', one_hot=True)1然后开始定义输入数据,利用占位符# define placeholder for inputs to network xs = tf.placeholder(tf.float32...
一个数据输出的问题
请问各位dx:怎样将servlet从数据库中查询到的多条记录逐条地输出到jsp页面设计好的表格中啊?清尽量写得详细些.谢谢了!
一个数据输出问题!
我是用c的程序处理图像,但是在运行窗口里生成几千上万个数据,我想把这些数据生成图像,但是首先怎么把数据从窗口输出呢!我运行的平台是VC ++ 2008!有这种功能吗?
tensorflow神经网络
神经网络模型训练及优化使用手写字体mnist数据#载入库 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data# 设置超参数INPUT_NODE = 784 #输入节点 OUTPUT_NODE = 10 # 输出节点 LAYER1_NODE = 500 # 隐藏层节点BATCH_SIZE
TensorFlow神经网络
如上图,在使用mnist时,神经网络的的作用就是计算当前输入数字图片属于各个数字的概率值,然后将概率值最高的数字作为预测值输出,从而达到分类任务。 单层神经网络如下图所示: 单层神经网络代码如下: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #MNIST数据输入...
Tensorflow、神经网络
主要讲解如下: 1、神经网络基础 2、人工神经网络(ANN) 3、Mnist数据集浅层神经网络分析 4、卷积神经网络(CNN) 5、Mnist数字图片识别
tensorflow 2.0 神经网络与全连接层 之 输出方式
5.4 输出方式输出范围实数范围零一之间零一之间 和为一负一一之间 输出范围 不同的应用,不同的场景输出范围是不同的。 y∈Rdy \in R^dy∈Rd 整个实数范围。 yi∈[0,1],i=0,1,...,yd−1y_i \in [0,1],i = 0,1,...,y_d-1yi​∈[0,1],i=0,1,...,yd​−1 多分类每类的概率为零一之间。 yi∈[0,1],∑i=0ydyi=...
神经网络tensorflow
以下为萌新初学神经网络的学习笔记。 神经网络tensorflow简介: **1、**人的神经网络大致可以分为三部分: 传入神经——&gt;神经中枢——&gt;传出神经。 **2、**同样的,对于机器的神经网络而言,也存在这样的三个部分: Input layer——&gt;Hidden layer——&gt;Output layer 一、Hidden layer(该图片为网图) 隐含层就相当于人的...
如何令这句输出日期型的数据的只有年月日呢?
有语句:rn……rnString url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";rnString ls_1="select * from sales";rn……rng.drawString("日期",200,40);其结果输出形式为:2003-12-03 00:00:00:00.000rn如何令这句输出日期型的数据的只有年月日呢?即输出形式为:2003-12-03。
杂乱数据点滴笔记
DSS (全称Decision Support System)商业智能决策支持系统 OLTP (全称Online Transaction Processing )在线事务处理系统(主要特征单一、静态、小、当前时间、前端用户、不支持历史访问、不支持批量) DWH (全称Data Warehouse )数据仓库,必须有能处理几百万条的能力(主要特征多个、动态、大、分析&决策) ODS (全称Op
C# 求一个靠谱且完善的逻辑思路
WinForm,用户登录如何实现一个账号在同一个时刻里只允许登录一次?
怎么double型数据的int型输出
怎么double型数据的int型输出,比如有一个很大的数,如1234567890987,超过了int型,那么要用double型存储,那么怎么输出呢,想还是输出1234567890987这个形式,而不是double型的科学计数法,谢谢,尽量结贴
如何用EVc在屏幕上输出一个double型的数据?
如何将一个double型的数据显示出来,messagebox 之类的都可以,我就想看到这个数据是什么....
TensorFlow神经网络:模块化的神经网络八股
1、前向传播: 搭建从输入到输出的网络结构 forward.py: # 定义前向传播过程 def forward(x, regularizer): w = b = y = return y # 给w赋初值,并把w的正则化损失加到总损失中 def get_weight(shape, regularizer): w = tf.Variable() tf.add_to_colle...
hadoop 为什么输出文件只有一个?
我的完全分布式环境(虚拟机下的) 有一个namenode,两个datanode.运行单词统计程序,输入为一个目录,包含3个文件,都只包含几个单词。job.setNumReduceTasks(2)。 为什么我的输出文件总是一个part-r-0000,不是说有几个reduce就有几个输出文件吗?
[fstream]为什么只有一个输出结果?
#include rn#include rn#include rnrnusing namespace std;rnrnvoid main() rn string str="test";rn fstream file(str.c_str());rn file.seekp(10);rn file<<100;rn file.seekg(10,ios::beg);rn string i;rn file>>i;rn cout<>i;rn cout<
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题

1
关于tensorflow的卷积神经网络模型问题,出现这种问题是为什么呢?
3
Centos6.4 安装完tensorflow后 命令行输入 import tensorflow报错
2
如何将多个csv文件作为输入训练集读入tensorflow
3
tensorflow CNN训练mnist数据集后识别自己写的数字效果不好
1
Tensorflow用自己的图片做数据集做识别,无法feed数据,跪求大神帮助!
3
tensorflow模型载入失败
3
tensorflow中卷积神经网络输出层除了能做分类,还有哪些其他的输出层?
1
TensorFlow卷积神经网络实现,图片与对应标签的拟合。一直显示卡在正在运行。
1
TensorFlow实现卷积神经网络,出现类型转换异常
3
TensorFlow训练卷积神经网络中,输入数据必须是什么类型的?
2
tensorflow 中怎么查看训练好的模型的参数呢?
1
请问tensorflow或者keras中想在神经网络同一层不同节点中设置不同激活函数该怎么实现?
1
基于tensorflow的pix2pix代码中如何做到输入图像和输出图像分辨率不一致
1
TensorFlow 里面图像分类数据集怎么获得???
4
tensorflow-gpu为何无法调用GPU进行运算?
3
tensorflow-gpu为何无法调用GPU进行运算???
1
tensorflow中神经网络优化器问题
1
tensorflow-gpu Failed to get convolution algorithm.
2
用tensorflow跑卷积网络报错:InternalError (see above for traceback): cudnn PoolForward launch failed
1
在tensorflow的使用中,from tensorflow.examples.tutorials.mnist import input_data报错