2017-10-16 1 views
0

私はテンソルフローのCNNを使ってLSTMを研究しています。 スカラーラベルを条件としてLSTMネットワークに挿入したいと考えています。 LSTMは私が何を意味するのか誰にも分かりますか? ご利用いただける場合は、その使用方法をお知らせください条件付きLSTM

ありがとうございます。

+0

「条件としてLSTMネットワークにスカラーラベルを貼っている」とは何ですか? – amirbar

+0

@amirbarこれは、ネットワークが分類とLSTMの2つの部分で構成されていることを意味します。 LSTMの性能を向上させるための条件として、分類結果をLSTMネットワークに入れる。 –

+0

LSTMとCNNを使った画像の時系列予測の例がほしいですか?時系列の画像ごとに1つのラベルまたはラベルを予測しようとしていますか? – amirbar

答えて

1

がHERESにあなたのように、シーケンスの出力確率の上にCNNとLSTMを適用した例は尋ねた:

def build_model(inputs): 

    BATCH_SIZE = 4 
    NUM_CLASSES = 2 
    NUM_UNITS = 128 
    H = 224 
    W = 224 
    C = 3 
    TIME_STEPS = 4 
    # inputs is assumed to be of shape (BATCH_SIZE, TIME_STEPS, H, W, C) 
    # reshape your input such that you can apply the CNN for all images 
    input_cnn_reshaped = tf.reshape(inputs, (-1, H, W, C)) 

    # define CNN, for instance vgg 16 
    cnn_logits_output, _ = vgg_16(input_cnn_reshaped, num_classes=NUM_CLASSES) 
    cnn_probabilities_output = tf.nn.softmax(cnn_logits_output) 

    # reshape back to time series convention 
    cnn_probabilities_output = tf.reshape(cnn_probabilities_output, (BATCH_SIZE, TIME_STEPS, NUM_CLASSES)) 

    # perform LSTM over the probabilities per image 
    cell = tf.contrib.rnn.LSTMCell(NUM_UNITS) 
    _, state = tf.nn.dynamic_rnn(cell, cnn_probabilities_output) 

    # employ FC layer over the last state 
    logits = tf.layers.dense(state, NUM_UNITS) 

    # logits is of shape (BATCH_SIZE, NUM_CLASSES) 
    return logits 

をところで、より良いアプローチは、最後の隠れ層の上にLSTMを採用することであろう、すなわち、CNNを特徴抽出器として使用し、一連の特徴にわたって予測を行う。

+0

ありがとうございました!これは私が本当に欲しかったものです。私は、上記のコンセプトを実装するために、LSTMとTFの使用法についてさらに検討する予定です。ありがとうございました –