2016-11-05 3 views
0

나는 tensorflow에서 lstm을 사용하여 다음 단어를 예측하기 위해 모델을 설계하려고합니다.
Tensorflow RNN에 대한 자습서는 의사 코드에 PTB 데이터 세트에 LSTM을 사용하는 방법을 제공합니다.
일괄 처리 및 라벨 생성 단계에 도달했습니다.사전 정의 된 LSTM에 대한 입력 크기 이해

def generate_batches(raw_data, batch_size): 
    global data_index 
    data_len = len(raw_data) 
    num_batches = data_len // batch_size 
    #batch = dict.fromkeys([i for i in range(num_batches)]) 
    #labels = dict.fromkeys([i for i in range(num_batches)]) 
batch = np.ndarray(shape=(batch_size), dtype=np.float) 
labels = np.ndarray(shape=(batch_size, 1), dtype=np.float) 
for i in xrange(batch_size) : 
    batch[i] = raw_data[i + data_index] 
    labels[i, 0] = raw_data[i + data_index + 1] 
data_index = (data_index + 1) % len(raw_data) 
return batch, labels 

이 코드는 배치 및 레이블 크기 (batch_size X 1)를 제공합니다.

이러한 배치 및 레이블은 tf.nn.embedding_lookup()을 사용하여 (batch_size x vocabulary_size) 크기 일 수도 있습니다.

그래서 여기에서 문제는 다음 기능을 사용하여 rnn_cell.BasicLSTMCell을 사용하거나 사용자 정의 lstm 모델을 사용하는 방법입니까?
input dimension to LSTM cell은 무엇이며 num_steps과 함께 사용하는 방법은 무엇입니까?
어떤 시나리오에서 어떤 배치 및 레이블 크기가 유용합니까?

답변

0

PTB의 전체 예제는 소스 code입니다. 사용할 수있는 권장 기본값 (SmallConfig, MediumConfigLargeConfig)이 있습니다.