Python TensorFlow,根据rssi输入预测X,Y位置

Python TensorFlow,根据rssi输入预测X,Y位置,python,csv,tensorflow,training-data,tensor,Python,Csv,Tensorflow,Training Data,Tensor,我是tensorflow的新手,我尝试创建一个模型,该模型将预测基于X和Y坐标的输入,该输入由86个变量组成,这些变量确定从位于建筑物内的86个扫描中接收到的信号强度。我有340个测试数据。我解析了它们并将它们放入两个.csv文件中 第一组包含有序信号强度。我将其保存为data.csv。 第二个文件包含当时仪表所在的坐标。我将其保存为labes.csv。 我已经创建了一个模型,但不幸的是,它的准确性只改变了两个训练步骤。如果要生成tf.summary.merge_all(),将出现以下错误:

我是tensorflow的新手,我尝试创建一个模型,该模型将预测基于X和Y坐标的输入,该输入由86个变量组成,这些变量确定从位于建筑物内的86个扫描中接收到的信号强度。我有340个测试数据。我解析了它们并将它们放入两个.csv文件中

第一组包含有序信号强度。我将其保存为data.csv。

第二个文件包含当时仪表所在的坐标。我将其保存为labes.csv。

我已经创建了一个模型,但不幸的是,它的准确性只改变了两个训练步骤。如果要生成tf.summary.merge_all(),将出现以下错误:。如果我删除这一行,培训将成功结束,但除了前两个步骤外,准确性不会改变:

此处的错误消息:

汇总柱状图中的Nan:偏差

 [[Node: Biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Biases/tag, Bias/read)]]
 [[Node: Biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Biases/tag, Bias/read)]]
由op“偏差”引起,定义为:

文件“E:\Programy\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\2.2\visualstudio\u py\u launcher.py”,第78行,在

vspd.debug(filename, port_num, debug_id, debug_options, run_as)
文件“E:\Programy\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\2.2\visualstudio\u py\u debugger.py”,第2483行,位于调试中

exec_file(file, globals_obj)
文件“E:\Programy\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\2.2\visualstudio\u py\u util.py”,第111行,在exec\u文件中

exec_code(code, file, global_variables)
exec\U代码中的文件“E:\Programy\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\2.2\visualstudio\u py\u util.py”,第87行

exec(code_obj, global_variables)
文件“C:\Users\Tesi\documents\visual studio 2015\Projects\LocationDetectionTensorflow\LocationDetectionTensorflow\LocationDetectionTensorflow.py”,第41行,在

tf.summary.histogram("Biases", b)
文件“C:\Users\Tesi\AppData\Local\Programs\Python\35\lib\site packages\tensorflow\Python\summary\summary.py”,直方图中第193行

tag=tag, values=values, name=scope)
文件“C:\Users\Tesi\AppData\Local\Programs\Python\35\lib\site packages\tensorflow\Python\ops\gen\u logging\u ops.py”,第215行,位于直方图摘要中

"HistogramSummary", tag=tag, values=values, name=name)
文件“C:\Users\Tesi\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\framework\op\u def\u library.py”,第787行,位于\u apply\u op\u helper中

op_def=op_def)
文件“C:\Users\Tesi\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\framework\ops.py”,第3160行,位于create\u op

op_def=op_def)
文件“C:\Users\Tesi\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\framework\ops.py”,第1625行,位于init

self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError(回溯见上文):偏差汇总直方图中的Nan

 [[Node: Biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Biases/tag, Bias/read)]]
 [[Node: Biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Biases/tag, Bias/read)]]
Data.csv此处:

100,94,99100100100100,90,7910010010010010010010010010010010010010010010010010010010010010010010010010085100,78,77,79,7810010010010010010010010010010010010089,

100100100,87100,87100,97100,90,90100100100,92100100100,95100100100,88100100100100100,64,64,74,74100100100100,73100100100100,88100100100100100

Labels.csv此处:

4502300

1750900

代码如下:

import tensorflow as tf
import numpy as np

data = np.genfromtxt("dataExcel.csv", delimiter=';')
labels = np.genfromtxt("labelsExcel.csv", delimiter=';')

inputs = 86
outputs = 2

x = tf.placeholder(tf.float32, shape=[None, inputs], name='input_X')
y = tf.placeholder(tf.float32, shape=[None, outputs], name='output_Y')
tf.summary.histogram("input_X",x)
tf.summary.histogram("output_Y",y)

W = tf.Variable(tf.zeros([86, 2]), name="Weight")
b = tf.Variable(tf.zeros([2]), name="Bias")
tf.summary.histogram("Weights", W)
tf.summary.histogram("Biases", b)

with tf.name_scope("softmax") as scope:
    softmax = tf.nn.softmax(tf.matmul(x, W) + b)

with tf.name_scope("cross_entropy_also_cost_function") as scope:
    cross_entropy = -tf.reduce_sum(y*tf.log(softmax))
    tf.summary.scalar("cross_entropy", cross_entropy)

with tf.name_scope("train") as scope:
    optimizer = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

with tf.name_scope("accuracy"):
    prediction = tf.equal(tf.argmax(softmax,1),tf.argmax(y,1))
    accuracy = tf.reduce_mean(tf.cast(prediction,tf.float32))
    tf.summary.scalar("accuracy", accuracy)

merged_summary = tf.summary.merge_all()
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    avg_cost = 0.
    writer = tf.summary.FileWriter("/tmp/Location")
    writer.add_graph(sess.graph)
    for i in range(1001):
        sess.run(optimizer, feed_dict={x: train_batch_x, y: train_batch_y})
        avg_cost += sess.run(cross_entropy, feed_dict={x: train_batch_x, y: train_batch_y})
        tf.summary.scalar("avrage cost", avg_cost)
        merged_summary_string = sess.run(merged_summary, feed_dict={x: train_batch_x, y: train_batch_y})
        writer.add_summary(merged_summary_string, i)
        train_accuracy = sess.run(accuracy, feed_dict={x: train_batch_x, y: train_batch_y})
        print("STEP:", i,"=>", train_accuracy,"% accuracy.")
        writer.close()
所以我的问题是:我如何修正我的模型来预测X和Y坐标

谢谢你的每一个建议或至少是努力!祝你今天愉快

更新: 因此,我应该替换我的sotfmax函数:

with tf.name_scope("softmax") as scope:
    softmax = tf.nn.softmax(tf.matmul(x, W) + b)
用这个

with tf.name_scope("softmax") as scope:
    softmax = tf.nn.softmax_cross_entropy_with_logits()'

但是这个函数的输入是什么呢

请将CSV和控制台输出作为文本而不是图像包含在您的问题中。NaN在tensorflow中可能意味着许多事情。通常无效数据或学习率过大。如果没有更多的调试,很难说。感谢您的回复!我添加了data.csv和labels.csv的外观。还添加了错误代码!谢谢你的建议。通过记录softmax的输出来实现交叉熵在数值上是不稳定的,可能会导致NAN。你试过用tf.nn.softmax\u cross\u entropy\u代替logits吗?我编辑了我的代码。我试着使用你建议的函数,但我不知道,输入应该是什么?