import tensorflow as tf import numpy as np input_dim = 100 seq_length = 50 hidden_dim = 128 output_dim = 1 input_data = tf.placeholder(tf.float32, [None, seq_length, input_dim]) labels = tf.placeholder(tf.float32, [None, output_dim]) cell = tf.contrib.rnn.LSTMCell(hidden_dim) outputs, states = tf.nn.dynamic_rnn(cell, input_data, dtype=tf.float32) last_output = outputs[:, -1, :] weight = tf.Variable(tf.random_normal([hidden_dim, output_dim])) bias = tf.Variable(tf.random_normal([output_dim])) prediction = tf.matmul(last_output, weight) + bias loss = tf.reduce_mean(tf.square(prediction - labels)) optimizer = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss) init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) train_data = ... train_labels = ... num_epochs = 1000 for epoch in range(num_epochs): _, current_loss = sess.run([optimizer, loss], feed_dict={input_data: train_data, labels: train_labels}) print("Epoch: {}, Loss: {}".format(epoch, current_loss)) test_data = ... predictions = sess.run(prediction, feed_dict={input_data: test_data})


上一篇:
下一篇:
切换中文