Проблема с Pytorch Chatbot Tutorial: как решить проблему с индексом списка вне диапазона - PullRequest
0 голосов
/ 11 ноября 2018

Я новичок в pytorch и следую многим доступным учебникам. Но, когда я это сделал, TATORIAL не работает.

Как на рисунке ниже

enter image description here

Что мне делать и чем это вызвано?

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018
def filter_pair(self, p):
    try:
        return len(p[0].split(' ')) < self.MAX_LENGTH and len(p[1].split(' '))<\ self.MAX_LENGTH
    except:
        return False

Это потому, что некоторые пары являются пустым списком

0 голосов
/ 18 ноября 2018

Я думаю, что проблема в том, как строки читаются, что приводит к пустым строкам. Вы можете довольно грубо решить проблему, отфильтровав пустые строки. Вот такое грубое решение в программе readVocs.

# Read query/response pairs and return a voc object
def readVocs(datafile, corpus_name):
    print("Reading lines...")
    # Read the file and split into lines
    lines = open(datafile, encoding='utf-8').\
        read().strip().split('\n')
    #Now on windows you seem to get alternate blank lines so filter them out.
    lines2=[]
    for l in lines:
        if len(l)>0:
            lines2.append(l)
    #And as a check just print the first 10
    for index, line in enumerate(lines2[:10]):
        print(index,' - ',line)

    # Split every line into pairs and normalize
    pairs = [[normalizeString(s) for s in l.split('\t')] for l in lines2]
    voc = Voc(corpus_name)
    return voc, pair
0 голосов
/ 12 ноября 2018

Вы используете Windows? В настоящее время большинству учебников по Pytorch требуется Pytorch 1.0, который в настоящее время недоступен в Windows, я пробую его в другой ОС.

Отредактирую ответ, как только он запустится в Ubuntu 18.

...