我正在尝试构建一个神经网络,将3d网格的顶点位置作为输入, 并输出内部两点的坐标。
出于测试目的,我有一个数据集,其中包含一个20个点的几何,内部有两个点。
数据集的每个文件都包含排名2中顶点的坐标,其中objs为shape [3,20]数组,结果点为shape [3,3]。
我已经构建了一个线性模型,但结果总是非常低(0,16),如果我用1000,1.00000或500.000
训练它并不重要import tensorflow as tf
import numpy as np
objList = np.load('../testFullTensors/objsArray_00.npy')
guideList = np.load('..testFullTensors/drvsArray_00.npy')
x = tf.placeholder(tf.float32, shape=[None, 60])
y_ = tf.placeholder(tf.float32, shape=[None, 6])
W = tf.Variable(tf.zeros([60,6],tf.float32))
b = tf.Variable(tf.zeros([6],tf.float32))
y = tf.matmul(x,W) + b
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
train_step.run(feed_dict={x: objList, y_: guideList})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
sess.run(tf.global_variables_initializer())
print accuracy.eval(session=sess , feed_dict={x: objs, y_: guides})`
我应该建立一种不同类型的网络吗?
由于 ë