2

当我使用 ATIS(航空公司旅行信息系统)数据集(http://lisaweb.iro.umontreal.ca/transfert/lisa/users/mesnilgr/atis/)进行循环神经网络研究时。我对它的结构感到困惑。

例如,使用data = pickle.load(open("./dataset/atis.fold0.pkl", "rb"),encoding='iso-8859-1')加载atis.fold0.pkl后,我使用print (np.shape(data_train))获取(4,). 我认为data[0]是训练集,data[1]是有效集,data[2]是测试集,data[3]是dict。

但是当我使用时print(np.shape(data[0])),我得到了(3, 3983)。我想知道为什么我在其中得到 3 行?这三行有什么区别。

文件 atis.fold0.pkl、atis.fold1.pkl、atis.fold2.pkl、atis.fold3.pkl、atis.fold4.pkl 有什么区别?

4

1 回答 1

2
f = gzip.open(filename, 'rb')
try:
    train_set, valid_set, test_set, dicts = pickle.load(f, encoding='latin1')
except:
    train_set, valid_set, test_set, dicts = pickle.load(f)


print np.shape(train_set)

每个泡菜都可以分为训练、验证、测试和它的字典。当您看到字典元素时,它们包含
words2idx
tables2idx
labels2idx

现在测试以下代码 for i in train_set: print len(i[0])

它将返回相同长度的文件。所以第一个元素是单词。第二个是tables2idx,第三个是插槽填充的最终结果(labels2idx)

使用dict来decry pt的id,你会明白的。

于 2016-04-04T16:09:33.250 回答