import numpy as np
import tensorflow as tf
data = np.array([[[[-0.94644142, 0.83340192, 0.66930326],
[-2.24232114, 0.93636605, -1.79758255]],
[[ 0.43525354 , 0.04762126 , 0.70189878],
[-0.03094103, -0.09688619 ,-0.25116417]]]]) #(1,2,2,3)
data2 = tf.placeholder(tf.float32,[1,2,2,3])
hidden = tf.layers.dense(data2, 2)
outputs = tf.layers.dense(hidden, 3)
reconstruction_loss = tf.reduce_mean(tf.square(outputs - data2))
optimizer = tf.train.AdamOptimizer(learning_rate=0.01)
training_op = optimizer.minimize(reconstruction_loss)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(1000):
_,loss=sess.run([training_op,reconstruction_loss],feed_dict={data2:data})
print(loss)
print(data)
print(sess.run(outputs,feed_dict={data2:data}))
编码结果:
[[[[-0.94644142 0.83340192 0.66930326]
[-2.24232114 0.93636605 -1.79758255]]
[[ 0.43525354 0.04762126 0.70189878]
[-0.03094103 -0.09688619 -0.25116417]]]]
[[[[-0.9531708 0.86388004 0.65454376]
[-2.2364683 0.90826994 -1.7837106 ]]
[[ 0.45066252 -0.02157165 0.73690164]
[-0.04599832 -0.02982292 -0.28529853]]]]