【发布时间】:2019-09-22 14:11:20
【问题描述】:
我想使用 Bert 训练一个 21 类 文本分类模型。但我的训练数据很少,所以我下载了一个类似的数据集,其中包含 5 个类 和 200 万个样本。t
并使用 bert 提供的未加壳预训练模型微调下载的数据。
并获得了大约 98% 的验证准确率。
现在,我想将此模型用作我的小型自定义数据的预训练模型。
但是我收到shape mismatch with tensor output_bias from checkpoint reader 错误,因为检查点模型有 5 个类,而我的自定义数据有 21 个类。
NFO:tensorflow:Calling model_fn.
INFO:tensorflow:Running train on CPU
INFO:tensorflow:*** Features ***
INFO:tensorflow: name = input_ids, shape = (32, 128)
INFO:tensorflow: name = input_mask, shape = (32, 128)
INFO:tensorflow: name = is_real_example, shape = (32,)
INFO:tensorflow: name = label_ids, shape = (32, 21)
INFO:tensorflow: name = segment_ids, shape = (32, 128)
Tensor("IteratorGetNext:3", shape=(32, 21), dtype=int32)
WARNING:tensorflow:From /home/user/Spine_NLP/bert/modeling.py:358: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /home/user/Spine_NLP/bert/modeling.py:671: dense (from tensorflow.python.layers.core) is deprecated and will be removed in a future version.
Instructions for updating:
Use keras.layers.dense instead.
INFO:tensorflow:num_labels:21;logits:Tensor("loss/BiasAdd:0", shape=(32, 21), dtype=float32);labels:Tensor("loss/Cast:0", shape=(32, 21), dtype=float32)
INFO:tensorflow:Error recorded from training_loop: Shape of variable output_bias:0 ((21,)) doesn't match with shape of tensor output_bias ([5]) from checkpoint reader.
【问题讨论】:
标签: tensorflow deep-learning nlp text-classification bert-language-model