我得到" IndexError:列表索引超出范围"来自
buffer.append(data[data_index])
我的代码如下:
data_index = 0
def generate_batch(batch_size, num_skips, skip_window):
global data_index
assert batch_size % num_skips == 0
assert num_skips <= 2 * skip_window
batch = np.ndarray(shape=(batch_size), dtype=np.int32)
labels = np.ndarray(shape=(batch_size, 1), dtype=np.int32)
span = 2 * skip_window + 1 # [ skip_window target skip_window ]
buffer = collections.deque(maxlen=span)
for _ in range(span):
buffer.append(data[data_index])
data_index = (data_index + 1) % len(data)
答案 0 :(得分:0)
当索引(在本例中为data_index
)大于或等于列表的长度(在本例中为data
)时,会引发此错误。可能出现此问题的原因很多(例如输入数据损坏),但最好的起点是在出现错误时打印出len(data)
和data_index
的值。