Я получаю сообщение об ошибке при использовании нейронной сети trax

python3

Я пытаюсь обучить нейронную сеть с помощью trax, это для курса NLP, нейронная сеть предназначена для анализа настроений. Я использую блокнот jupyter, это ошибка, в которой она сокращена:

LayerError Traceback (последний вызов последним) в ----> 1 training_loop = train_model(модель, train_task, eval_task, 100, output_dir_expand)

in train_model(classifier, train_task, eval_task, n_steps, output_dir)19 output_dir = output_dir) # Каталог вывода 20---> 21 training_loop.run(n_steps = n_steps)22 ### КОНЕЦ КОДА ЗДЕСЬ ###23

TypeError: mul получил несовместимые формы для трансляции: (8, 2), (16, 2). это код:

      from trax.supervised import training

batch_size = 16
rnd.seed(271)

train_task = training.TrainTask(
    labeled_data=train_generator(batch_size=batch_size, shuffle=True),
    loss_layer=tl.CrossEntropyLoss(),
    optimizer=trax.optimizers.Adam(0.01),
    n_steps_per_checkpoint=10,
)

eval_task = training.EvalTask(
    labeled_data=val_generator(batch_size=batch_size, shuffle=True),
    metrics=[tl.CrossEntropyLoss(), tl.Accuracy()],
)

model = classifier()



def train_model(classifier, train_task, eval_task, n_steps, output_dir):
    
    #Input: 
       # classifier - the model you are building
        #train_task - Training task
        #eval_task - Evaluation task
        #n_steps - the evaluation steps
        #output_dir - folder to save your files
    #Output:
        #trainer -  trax trainer


    training_loop = training.Loop(
                                classifier, # The learning model
                                train_task, # The training task
                                eval_task = eval_task, # The evaluation task
                                output_dir = output_dir) # The output directory

    training_loop.run(n_steps = n_steps)


    # Return the training_loop, since it has the model.
    return training_loop

0 ответов

Другие вопросы по тегам