【发布时间】:2017-09-28 11:56:37
【问题描述】:
有一个错误提示列表索引超出范围。我想这是因为我在预测下一个数字。我正在关注这篇文章 https://chunml.github.io/ChunML.github.io/project/Creating-Text-Generator-Using-Recurrent-Neural-Network/ 作为预测列表中下一个数字的基础,但我正在努力调整这些想法。
data = ['1','0','0','1','4','2','6','1','1','0','0','1','4','2']
chars = list(set(data))
VOCAB_SIZE= len(chars)
number_of_sequences= 1
SEQ_LENGTH=2
#Prepare training data
ix_to_char={ix:char for ix, char in enumerate(chars)}
char_to_ix={char:ix for ix, char in enumerate(chars)}
X= np.zeros((len(data)/SEQ_LENGTH, SEQ_LENGTH, VOCAB_SIZE))
y= np.zeros((len(data)/SEQ_LENGTH, SEQ_LENGTH, VOCAB_SIZE))
for i in range(len(data)/SEQ_LENGTH):
X_sequence = data[i*SEQ_LENGTH:(i+1)*SEQ_LENGTH]
X_sequence_ix=[char_to_ix[value] for value in X_sequence]
input_sequence= np.zeros((SEQ_LENGTH, VOCAB_SIZE))
for j in range(0,SEQ_LENGTH):
input_sequence[j][X_sequence_ix[j]]=1
X[i]=input_sequence
y_sequence = data[i*(SEQ_LENGTH+1):(i+1)*(SEQ_LENGTH+1)]
y_sequence_ix = [char_to_ix[value] for value in y_sequence]
target_sequence= np.zeros((SEQ_LENGTH, VOCAB_SIZE))
for j in range(0,SEQ_LENGTH):
target_sequence[j][y_sequence_ix[j]]=1 #LIST INDEX OUT OF RANGE
y[i]=target_sequence
欢迎任何帮助!
【问题讨论】:
-
尝试循环使用
for i in range(len(data) / SEQ_LENGTH) - 1: -
我在 for 循环周围放了一个 while 循环,这也有效。谢谢!
-
也许不是,我尝试了你的方法,但索引错误仍然得到相同的结果......
标签: python indexing tensorflow