Python TensorFlow,根据rssi输入预测X,Y位置
我是tensorflow的新手,我尝试创建一个模型,该模型将预测基于X和Y坐标的输入,该输入由86个变量组成,这些变量确定从位于建筑物内的86个扫描中接收到的信号强度。我有340个测试数据。我解析了它们并将它们放入两个.csv文件中 第一组包含有序信号强度。我将其保存为data.csv。 第二个文件包含当时仪表所在的坐标。我将其保存为labes.csv。 我已经创建了一个模型,但不幸的是,它的准确性只改变了两个训练步骤。如果要生成tf.summary.merge_all(),将出现以下错误:。如果我删除这一行,培训将成功结束,但除了前两个步骤外,准确性不会改变: 此处的错误消息: 汇总柱状图中的Nan:偏差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(),将出现以下错误:
[[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吗?我编辑了我的代码。我试着使用你建议的函数,但我不知道,输入应该是什么?