Tensorflow: LSTM рд╕реЗрд▓ рдХреЗ рд╕рд╛рде рджреНрд╡рд┐рджрд┐рд╢ rnn рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬрдире░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tensorflow/tensorflow

рдЬрдм рдореИрдВ bidirection_rnn рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ LSTM рд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рд╕рд╛рде рдПрдХ рджреНрд╡рд┐-рдЖрд░рдПрдирдПрди рдореЙрдбрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ,
рдпрд╣ рджреЗрддрд╛ рд╣реИ: ValueError: Over-sharing: Variable BiRNN_FW/RNN/BasicLSTMCell/Linear/Matrix already exists, disallowed. Did you mean to set reuse=True in VarScope?

import tensorflow as tf
from tensorflow.models.rnn import rnn, rnn_cell
from tensorflow.python.ops.constant_op import constant
import numpy as np

class Model(object):
    def __init__(self, batch_size, len_word, num_chars, dim_embed, dim_hidden):
        self.batch_size = batch_size
        self.dim_embed = dim_embed
        self.dim_hidden = dim_hidden
        self.num_chars = num_chars
        self.len_word = len_word

        with tf.device("/cpu:0"):
            self.embedding = tf.Variable(tf.random_uniform([num_chars, dim_embed], -0.1, 0.1), name='embedding')

        self.W_emb = tf.Variable(tf.random_uniform([dim_hidden*2, dim_embed], -0.1, 0.1), name='W_emb')
        self.b_emb = tf.Variable(tf.zeros([dim_embed]), name='b_emb')
        self.lstm_fw_cell = rnn_cell.BasicLSTMCell(dim_hidden)
        self.lstm_bw_cell = rnn_cell.BasicLSTMCell(dim_hidden)

    def build_model(self):
        inputs = tf.placeholder(tf.int32, [self.batch_size, self.len_word])
        input_length = tf.placeholder(tf.int64, [self.batch_size])
        lstm_state_fw = self.lstm_fw_cell.zero_state(self.batch_size, tf.float32)
        lstm_state_bw = self.lstm_bw_cell.zero_state(self.batch_size, tf.float32)

        with tf.device("/cpu:0"):
            embedded_input = tf.nn.embedding_lookup(self.embedding, tf.transpose(inputs))

        brnn_output = rnn.bidirectional_rnn(
            self.lstm_fw_cell, self.lstm_bw_cell,
            tf.unpack(embedded_input),
            sequence_length=input_length,
            initial_state_fw=lstm_state_fw,
            initial_state_bw=lstm_state_bw,
        )

        pooled_output = tf.reduce_sum( tf.pack(brnn_output), 0 )
        pooled_output = pooled_output / tf.expand_dims( tf.to_float(input_length) + 1e-6, 1)
        final_emb = tf.nn.xw_plus_b(pooled_output, self.W_emb, self.b_emb)
        final_emb = tf.nn.l2_normalize(final_emb, dim=1, epsilon=1e-7)

        return final_emb

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдХреЛ LSTM рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрдХреЛрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

with tf.variable_scope('forward'):
    self.lstm_fw_cell = rnn_cell.BasicLSTMCell(dim_hidden)   
with tf.variable_scope('backward'):
    self.lstm_bw_cell = rnn_cell.BasicLSTMCell(dim_hidden)

рдЕрдиреНрдпрдерд╛ рдПрдХ рдирд╛рдо рдЯрдХрд░рд╛рд╡ рд╣реЛрдЧрд╛ (рджреЛрдиреЛрдВ рдХрдХреНрд╖ "BiRNN_FW/RNN/BasicLSTMCell/рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕" рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ tf рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХрд╛ рдЗрд░рд╛рджрд╛ рджреЛ рдХрдХреНрд╖реЛрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреБрдореНрд╣реЗрдВ рдЪрд╛рд╣рд┐рдПред рдЯреАрдПрдл рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рджреВрд╕рд░реЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рд╣реИ: with variable_scope(name, reuse=True) ред

рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрдХреЛрдк рд╕реЗрдЯ рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдмрдирд╛рдПрдЧрд╛:
BiRNN_FW/RNN/BasicLSTMCell/ рдлреЙрд░рд╡рд░реНрдб /рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕
BiRNN_FW/RNN/BasicLSTMCell/ рдкрд┐рдЫрдбрд╝рд╛ /рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╢реЗрдпрд░рд┐рдВрдЧ рд╡реИрд░рд┐рдПрдмрд▓ рдЧрд╛рдЗрдб рдкрдврд╝реЗрдВред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ LSTM рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрдХреЛрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

with tf.variable_scope('forward'):
    self.lstm_fw_cell = rnn_cell.BasicLSTMCell(dim_hidden)   
with tf.variable_scope('backward'):
    self.lstm_bw_cell = rnn_cell.BasicLSTMCell(dim_hidden)

рдЕрдиреНрдпрдерд╛ рдПрдХ рдирд╛рдо рдЯрдХрд░рд╛рд╡ рд╣реЛрдЧрд╛ (рджреЛрдиреЛрдВ рдХрдХреНрд╖ "BiRNN_FW/RNN/BasicLSTMCell/рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕" рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ tf рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХрд╛ рдЗрд░рд╛рджрд╛ рджреЛ рдХрдХреНрд╖реЛрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреБрдореНрд╣реЗрдВ рдЪрд╛рд╣рд┐рдПред рдЯреАрдПрдл рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рджреВрд╕рд░реЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рд╣реИ: with variable_scope(name, reuse=True) ред

рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрдХреЛрдк рд╕реЗрдЯ рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдмрдирд╛рдПрдЧрд╛:
BiRNN_FW/RNN/BasicLSTMCell/ рдлреЙрд░рд╡рд░реНрдб /рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕
BiRNN_FW/RNN/BasicLSTMCell/ рдкрд┐рдЫрдбрд╝рд╛ /рд░реИрдЦрд┐рдХ/рдореИрдЯреНрд░рд┐рдХреНрд╕

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╢реЗрдпрд░рд┐рдВрдЧ рд╡реИрд░рд┐рдПрдмрд▓ рдЧрд╛рдЗрдб рдкрдврд╝реЗрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрдм рдФрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрд░рд┐рдПрдмрд▓ ...Cell.__call__ рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ рдФрд░ ...Cell.__init__ , рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЛрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реНрдХреЛрдк рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░реЗрдЧрд╛ рд╕реНрд╡рдпрдВ bidirectional_rnn рдЕрдВрджрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рджрд╛рдпрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рдореИрдВрдиреЗ рд╕реЙрд▓реЛрдордиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд╡рд╣реА рдкрд░рд┐рдгрд╛рдоред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд┐рд╕реА рднреА рдЯреБрдкрд▓ рдХреЛ рд╡рд╛рдкрд╕ рди рдХрд░реЗрдВред
((рдПрдирдХреЛрдбрд░_fw_outputs,
encoder_bw_outputs),
(рдПрдирдХреЛрдбрд░_рдПрдлрдбрдмреНрд▓реНрдпреВ_рдлрд╛рдЗрдирд▓_рд╕реНрдЯреЗрдЯ,
рдПрдиреНрдХреЛрдбрд░_рдмреАрдбрдмреНрд▓реНрдпреВ_рдлрд╛рдЗрдирд▓_рд╕реНрдЯреЗрдЯ)) = (
tf.nn.bidirection_dynamic_rnn(cell_fw=encoder_cell,
рд╕реЗрд▓_рдмреАрдбрдмреНрд▓реНрдпреВ = рдПрдирдХреЛрдбрд░_рд╕реЗрд▓,
рдЗрдирдкреБрдЯреНрд╕ = рдПрдирдХреЛрдбрд░_рдЗрдирдкреБрдЯреНрд╕_рдПрдореНрдмреЗрдбреЗрдб,
рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде = рдПрдирдХреЛрдбрд░_рдЗрдирдкреБрдЯреНрд╕_рд▓реЗрдВрде,
dtype=tf.float64, time_major=True)
)

ValueError рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо)
рдореЗрдВ()
20 рдЗрдирдкреБрдЯ = рдПрдирдХреЛрдбрд░_рдЗрдирдкреБрдЯреНрд╕_рдПрдореНрдмреЗрдбреЗрдб,
21 рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде = рдПрдирдХреЛрдбрд░_рдЗрдирдкреБрдЯреНрд╕_рд▓реЗрдВрде,
---> 22 dtype=tf.float32, time_major=True)
23)
24

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc рдореЗрдВ bidirection_dynamic_rnn(cell_fw, cell_bw, рдЗрдирдкреБрдЯреНрд╕, рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде, рдЗрдирд┐рд╢рд┐рдпрд▓_рд╕реНрдЯреЗрдЯ_рдПрдлрдбрдмреНрд▓реНрдпреВ, рдЗрдирд┐рд╢рд┐рдпрд▓_рд╕реНрдЯреЗрдЯ_рдмреАрдбрдмреНрд▓реНрдпреВ, рдбреАрдЯрд╛рдЗрдк, рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА , рдЯрд╛рдЗрдо_рдореЗрдЬрд░, рд╕реНрдХреЛрдк)
рейрекрео рдкреНрд░рд╛рд░рдВрднрд┐рдХ_рд╕реНрдЯреЗрдЯ = рдкреНрд░рд╛рд░рдВрднрд┐рдХ_рд╕реНрдЯреЗрдЯ_рдПрдлрдбрдмреНрд▓реНрдпреВ, рдбреАрдЯрд╛рдЗрдк = рдбреАрдЯрд╛рдЗрдк,
рейрекреп рд╕рдорд╛рдирд╛рдВрддрд░_рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ = рд╕рдорд╛рдирд╛рдВрддрд░_рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА = рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА,
--> 350 рдЯрд╛рдЗрдо_рдореЗрдЬрд░ = рдЯрд╛рдЗрдо_рдореЗрдЬрд░, рд╕реНрдХреЛрдк = fw_scope)
351
352 # рдкреАрдЫреЗ рдХреА рджрд┐рд╢рд╛

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc рдореЗрдВ dynamic_rnn (рд╕реЗрд▓, рдЗрдирдкреБрдЯ, рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде, рдЗрдирд┐рд╢рд┐рдпрд▓_рд╕реНрдЯреЗрдЯ, рдбреАрдЯрд╛рдЗрдк, рдкреИрд░реЗрд▓рд▓_рдЗрдЯрд░реЗрд╢рди, рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА, рдЯрд╛рдЗрдо_рдореЗрдЬрд░, рд╕реНрдХреЛрдк )
релрекрек рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА = рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА,
релрекрел рдЕрдиреБрдХреНрд░рдо_рд▓рдВрдмрд╛рдИ=рдЕрдиреБрдХреНрд░рдо_рд▓рдВрдмрд╛рдИ,
-> релрекрем dtype=dtype)
релрекрен
релрекрео # _dynamic_rnn_loop рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╣рдореЗрд╢рд╛ [рд╕рдордп, рдмреИрдЪ, рдЧрд╣рд░рд╛рдИ] рдЖрдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc in _dynamic_rnn_loop (рд╕реЗрд▓, рдЗрдирдкреБрдЯреНрд╕, рдЗрдирд┐рд╢рд┐рдпрд▓_рд╕реНрдЯреЗрдЯ, рдкреИрд░реЗрд▓рд▓_рдЗрдЯрд░реЗрд╢рди, рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА, рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде, рдбреАрдЯрд╛рдЗрдк)
ренрезрез рд▓реВрдк_рд╡рд╛рд░реНрд╕ = (рд╕рдордп, рдЖрдЙрдЯрдкреБрдЯ_рдЯрд╛, рд░рд╛рдЬреНрдп),
ренрезреи рд╕рдорд╛рдирд╛рдВрддрд░_рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ = рд╕рдорд╛рдирд╛рдВрддрд░_рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐,
-> 713 рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА = рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА)
714
715 # рдЖрдЙрдЯрдкреБрдЯ рдЯреБрдкрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдкрд░ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВред

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.pyc in while_loop(cond, body, loop_vars, Shape_invariants, parallel_iterations, back_prop, swap_memory, name)
реиремрежрей рд╕рдВрджрд░реНрдн = рдЬрдмрдХрд┐ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ (рд╕рдорд╛рдирд╛рдВрддрд░_рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рдмреИрдХ_рдкреНрд░реЙрдк, рд╕реНрд╡реИрдк_рдореЗрдореЛрд░реА, рдирд╛рдо)
2604 ops.add_to_collection(ops.GraphKeys.WHILE_CONTEXT, рдкреНрд░рд╕рдВрдЧ)
-> реиремрежрел рдкрд░рд┐рдгрд╛рдо = рд╕рдВрджрд░реНрднред BuildLoop(cond, body, loop_vars, shape_invariants)
2606 рд░рд┐рдЯрд░реНрди рд░рд┐рдЬрд▓реНрдЯ
реиремрежрен

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.pyc in BuildLoop(self, pred, body, loop_vars, Shape_invariants)
реирекрейрем рд╕реНрд╡рдпрдВ рджрд░реНрдЬ рдХрд░реЗрдВ ()
реирекрейрен рдореВрд▓_рдмреЙрдбреА_рдкрд░рд┐рдгрд╛рдо, рдирд┐рдХрд╛рд╕_рд╡рд╛рд░реНрд╕ = рд╕реНрд╡рдпрдВ._рдмрд┐рд▓реНрдбрд▓реВрдк(
-> реирекрейрео рдкреВрд░реНрд╡, рд╢рд░реАрд░, рдореВрд▓_рд▓реВрдк_рд╡рд╛рд░реНрд╕, рд▓реВрдк_рд╡рд╛рд░реНрд╕, рд╢реЗрдк_рдЗрдирд╡реЗрд░рд┐рдПрдВрдЯ)
2439 рдЕрдВрдд рдореЗрдВ:
реирекрекреж рд╕реНрд╡рдпрдВред рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ ()

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.pyc in _BuildLoop(self, pred, body, original_loop_vars, loop_vars, shape_invariants)
реирейреорем рд╕рдВрд░рдЪрдирд╛ = рдореВрд▓_рд▓реВрдк_рд╡рд╛рд░,
реирейреорен Flat_sequence=vars_for_body_with_tensor_arrays)
-> реирейреорео body_result = рд╢рд░реАрд░ (*packed_vars_for_body)
реирейреореп рдЕрдЧрд░ рдШреЛрдВрд╕рд▓рд╛ рдирд╣реАрдВ рд╣реИред is_sequence (body_result):
реирейрепреж body_result = [body_result]

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc in _time_step(time, output_ta_t, State)
ремрепрек рдХреЙрд▓_рд╕реЗрд▓=рдХреЙрд▓_рд╕реЗрд▓,
ремрепрел рд░рд╛рдЬреНрдп_рдЖрдХрд╛рд░=рд░рд╛рдЬреНрдп_рдЖрдХрд╛рд░,
--> ремрепрем рд╕реНрдХрд┐рдк_рдХрдВрдбреАрд╢рдирд▓реНрд╕ = рд╕рдЪ)
697 рдЕрдиреНрдп:
ремрепрео (рдЖрдЙрдЯрдкреБрдЯ, рдиреНрдпреВ_рд╕реНрдЯреЗрдЯ) = рдХреЙрд▓_рд╕реЗрд▓ ()

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc _rnn_step рдореЗрдВ (рд╕рдордп, рд╕реАрдХреНрд╡реЗрдВрд╕_рд▓реЗрдВрде, min_sequence_length, max_sequence_length, рдЬреАрд░реЛ_рдЖрдЙрдЯрдкреБрдЯ, рд╕реНрдЯреЗрдЯ, рдХреЙрд▓_рд╕реЗрд▓, рд╕реНрдЯреЗрдЯ_рд╕рд╛рдЗрдЬрд╝, рд╕реНрдХрд┐рдк_рдХрдВрдбреАрд╢рдирд▓реНрд╕ )
175 # рдХрджрдоред рдпрд╣ рддрдм рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ рдЬрдм max_seq_len рдЕрдирд░реЛрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ
176 # (рдЬреЛ рдХрд┐ dynamic_rnn рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ)ред
-> 177 new_output, new_state = call_cell ()
178 рдШреЛрдВрд╕рд▓рд╛.assert_same_struct(рд░рд╛рдЬреНрдп, new_state)
179 new_state = Nest.flatten(new_state)

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/rnn.pyc рдореЗрдВ()
682
683 input_t = Nest.pack_sequence_as (рд╕рдВрд░рдЪрдирд╛ = рдЗрдирдкреБрдЯ, рдлрд╝реНрд▓реИрдЯ_рд╕реАрдХреНрд╡реЗрдВрд╕ = рдЗрдирдкреБрдЯ_рдЯреА)
-> 684 call_cell = рд▓реИрдореНрдмреНрдбрд╛: рд╕реЗрд▓ (input_t, рд░рд╛рдЬреНрдп)
685
686 рдпрджрд┐ рдЕрдиреБрдХреНрд░рдо_рд▓рдВрдмрд╛рдИ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.pyc in __call__(self, inputs, State, scope)
рейрейрем # i = input_gate, j = new_input, f = рднреВрд▓_рдЧреЗрдЯ, o = output_gate
рейрейрен lstm_matrix = _linear([рдЗрдирдкреБрдЯ, m_prev], рек * self._num_units, рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ = рд╕рдЪ,
-> 338 рд╕реНрдХреЛрдк = рд╕реНрдХреЛрдк)
рейрейреп рдЖрдИ, рдЬреЗ, рдПрдл, рдУ = array_ops.split(
рейрекреж рдорд╛рди = lstm_matrix, num_or_size_splits = рек, рдЕрдХреНрд╖ = рез)

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.pyc in _linear(args, output_size, рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣, рдмрд╛рдпрд╕_рд╕реНрдЯрд╛рд░реНрдЯ, рд╕реНрдХреЛрдк)
рдмрд╛рд╣рд░реА_рд╕реНрдХреЛрдк рдХреЗ рд░реВрдк рдореЗрдВ vs.variable_scope(scope) рдХреЗ рд╕рд╛рде 745:
ренрекрем рд╡рдЬрд╝рди = рдмрдирд╛рдо get_variable(
-> ренрекрен "рд╡рдЬрди", [total_arg_size, output_size], dtype=dtype)
748 рдЕрдЧрд░ рд▓реЗрди (рддрд░реНрдХ) == 1:
ренрекреп рд░реЗрд╕ = math_ops.matmul(args[0], weights)

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.pyc get_variable рдореЗрдВ (рдирд╛рдо, рдЖрдХрд╛рд░, рдкреНрд░рдХрд╛рд░, рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛, рдирд┐рдпрдорд┐рддрдХрд░реНрддрд╛, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣, caching_device, рд╡рд┐рднрд╛рдЬрдирдХрд░реНрддрд╛ , рдорд╛рдиреНрдп_рдЖрдХрд╛рд░, custom_getter)
репреорем рд╕рдВрдЧреНрд░рд╣=рд╕рдВрдЧреНрд░рд╣, caching_device=caching_device,
987 рдкрд╛рд░реНрдЯреАрд╢рдирд░ = рдкрд╛рд░реНрдЯрд┐рд╢рдирд░, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк = рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк,
--> 988 рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░ = рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░)
989 get_variable_or_local_docstring = (
репрепреж """%s

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.pyc get_variable рдореЗрдВ (рд╕реНрд╡рдпрдВ, var_store, рдирд╛рдо, рдЖрдХрд╛рд░, рдкреНрд░рдХрд╛рд░, рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛, рдирд┐рдпрдорд┐рддреАрдХрд░рдг, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣ , рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕, рдкрд╛рд░реНрдЯреАрд╢рдирд░, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк, рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░)
реореорео рд╕рдВрдЧреНрд░рд╣=рд╕рдВрдЧреНрд░рд╣, caching_device=caching_device,
889 рдкрд╛рд░реНрдЯреАрд╢рдирд░ = рдкрд╛рд░реНрдЯрд┐рд╢рдирд░, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк = рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк,
-> 890 рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░ = рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░)
891
реорепреи рдбреАрдИрдПрдлрд╝ _get_partitioned_variable(рд╕реНрд╡рдпрдВ,

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.pyc get_variable рдореЗрдВ (рд╕реНрд╡рдпрдВ, рдирд╛рдо, рдЖрдХрд╛рд░, рдкреНрд░рдХрд╛рд░, рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛, рдирд┐рдпрдорд┐рддрдХрд░реНрддрд╛, рдкреБрди: рдЙрдкрдпреЛрдЧ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣ , рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕, рдкрд╛рд░реНрдЯреАрд╢рдирд░, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реИрдк, рдХрд╕реНрдЯрдо_рдЧреЗрдЯрд░)
рейрекрем рдкреБрди: рдЙрдкрдпреЛрдЧ = рдкреБрди: рдЙрдкрдпреЛрдЧ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп = рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣ = рд╕рдВрдЧреНрд░рд╣,
рейрекрен рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕ = рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕, рдкрд╛рд░реНрдЯреАрд╢рдирд░ = рдкрд╛рд░реНрдЯрд┐рд╢рдирд░,
--> рейрекрео рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк = рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реИрдк)
349
350 рдбреАрдИрдПрдлрд╝ _get_partitioned_variable(

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.pyc in _true_getter(name, Shape, dtype, рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░, рд░реЗрдЧреБрд▓рд░рд╛рдЗрдЬрд╝рд░, рдкреБрди: рдЙрдкрдпреЛрдЧ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣, caching_device , рдкрд╛рд░реНрдЯреАрд╢рдирд░, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реЗрдк)
331 рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ = рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛, рдирд┐рдпрдорд┐рддрдХрд░реНрддрд╛ = рдирд┐рдпрдорд┐рддрдХрд░реНрддрд╛, рдкреБрди: рдЙрдкрдпреЛрдЧ = рдкреБрди: рдЙрдкрдпреЛрдЧ,
рейрейреи рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд = рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп, рд╕рдВрдЧреНрд░рд╣ = рд╕рдВрдЧреНрд░рд╣,
--> рейрейрей рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕ = рдХреИрд╢рд┐рдВрдЧ_рдбрд┐рд╡рд╛рдЗрд╕, рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реИрдк = рд╡реИрд▓рд┐рдбреЗрдЯ_рд╢реИрдк)
334
335 рдЕрдЧрд░ custom_getter рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:

/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.pyc рдореЗрдВ _get_single_variable(рд╕реНрд╡рдпрдВ, рдирд╛рдо, рдЖрдХрд╛рд░, dtype, рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛, рдирд┐рдпрдорд┐рддрдХрд░реНрддрд╛, рд╡рд┐рднрд╛рдЬрди_рдЗрдиреНрдлреЛ, рдкреБрди: рдЙрдкрдпреЛрдЧ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдп , рд╕рдВрдЧреНрд░рд╣, caching_device,Valid_shape)
637 "рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╡рд░рд╕реНрдХреЛрдк рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ = рд╕рд╣реА рд╕реЗрдЯ рдХрд░рдирд╛ рдерд╛?"
ремрейрео "рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд:\n\n%s" % (
-> ремрейреп рдирд╛рдо, ".join(traceback.format_list(tb))))
ремрекреж рдкрд╛рдпрд╛_рд╡рд░ = рд╕реНрд╡рдпрдВ._рд╡рд╛рд░реНрд╕ [рдирд╛рдо]
ремрекрез рдпрджрд┐ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реИред

ValueError: рдкрд░рд┐рд╡рд░реНрддрдиреАрдп bidirection_rnn/fw/lstm_cell/рднрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдЕрд╕реНрд╡реАрдХреГрддред рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм VarScope рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ = рд╕рд╣реА рд╕реЗрдЯ рдХрд░рдирд╛ рдерд╛? рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд:

рдлрд╝рд╛рдЗрд▓ "/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py", рд▓рд╛рдЗрди 747, _linear рдореЗрдВ
"рд╡рдЬрди", [total_arg_size, output_size], dtype=dtype)
рдлрд╝рд╛рдЗрд▓ "/home/cesar/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py", рд▓рд╛рдЗрди 338, __call__ рдореЗрдВ
рдЧреБрдВрдЬрд╛рдЗрд╢ = рдЧреБрдВрдЬрд╛рдЗрд╢)
рдлрд╝рд╛рдЗрд▓ "", рд▓рд╛рдЗрди 24, рдЗрдВрдЪ
time_major=рд╕рдЪ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fobus42 picture fobus42  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RahulKulhari picture RahulKulhari  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ahmed-touati picture ahmed-touati  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nicholaslocascio picture nicholaslocascio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wfs picture wfs  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ