RNN の実装

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、初歩的な RNN を実装してください.

import tensorflow as tf
import numpy as np

n_inputs = 3
n_neurons = 5

X0 = tf.placeholder(tf.float32, [None, n_inputs])
X1 = tf.placeholder(tf.float32, [None, n_inputs])

# Q1:BasicRNNCell を用いて RNN をアンロールするために必要となる記憶セルを定義
basic_cell = ##########

[Q1の選択肢]
1. tf.nn.rnn_cell.BasicRNNCell(num_units=n_neurons)
2. tf.nn.rnn_cell.BasicRNNCell(num_units=X0)
3. tf.nn.rnn_cell.BasicRNNCell(num_units=n_inputs)

# Q2:static_rnn() 関数に入力テンソルを与え、出力テンソルを得てください.
output_seqs, states = ##########

[Q2の選択肢]
1. tf.nn.static_rnn([X0, X1],dtype=tf.float32)
2. tf.nn.static_rnn(basic_cell([X0, X1]),dtype=tf.float32)
3. tf.nn.static_rnn(basic_cell, [X0, X1],dtype=tf.float32)

Y0, Y1 = output_seqs

init = tf.global_variables_initializer()

X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]])
X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]])

with tf.Session() as sess:
init.run()
Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})

print(Y0_val)
print(Y1_val)

Leave a comment

Your email address will not be published. Required fields are marked *