как изменить input_length в слое внедрения TensorFlow?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
0
задан andy 14 April 2019 в 10:53
поделиться

1 ответ

Вы не должны изменять параметр input_length для каждого предложения, вам нужно определить константу MAXIMUM_SENTENCE_LENGTH, где вы будете дополнять все свои предложения специальным значением 0, если они меньше этой максимальной длины, или просто вырезать от чрезмерных слов, если они превосходят его.

Затем вы должны использовать параметр mask_zero, установив его в True, чтобы просто маскировать эти избыточные 0 токенов, чтобы они не влияли на выходные данные модели или обратное распространение градиентов во время обучения.

Проверьте этот учебник для более подробной информации.

0
ответ дан Ahmed Ragab 14 April 2019 в 10:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: