# Create a transformer model from a pytorch model (model.bin))

**URL:** <https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270>\
**Category:** Beginners\
**Created:** [January 18, 2021, 11:38pm UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270 "2021-01-18T23:38:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![TeoMbit](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/teombit/32/938_2.png) [@TeoMbit](https://discuss.huggingface.co/u/TeoMbit)\
**Post date:** [January 18, 2021, 11:38pm UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270/1 "2021-01-18T23:38:36Z")

</div>

How to go from a model created from Bert and trained in a specific domain stored as model.bin to generate a transformer, tokenizer, model and optimizer??

Sorry if it is very easy but I’m getting crazy!!!

ck=torch.load(’/content/drive/MyDrive/saved\_models/pytorch\_model.bin’)  
print(ck.keys())  
odict\_keys([‘bert.embeddings.word\_embeddings.weight’, ‘bert.embeddings.position\_embeddings.weight’, ‘bert.embeddings.token\_type\_embeddings.weight’, ‘bert.embeddings.LayerNorm.weight’, ‘bert.embeddings.LayerNorm.bias’, ‘bert.encoder.layer.0.attention.self.query.weight’, ‘bert.encoder.layer.0.attention.self.query.bias’, ‘bert.encoder.layer.0.attention.self.key.weight’, ‘bert.encoder.layer.0.attention.self.key.bias’, ‘bert.encoder.layer.0.attention.self.value.weight’, ‘bert.encoder.layer.0.attention.self.value.bias’, ‘bert.encoder.layer.0.attention.output.dense.weight’, ‘bert.encoder.layer.0.attention.output.dense.bias’, ‘bert.encoder.layer.0.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.0.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.0.intermediate.dense.weight’, ‘bert.encoder.layer.0.intermediate.dense.bias’, ‘bert.encoder.layer.0.output.dense.weight’, ‘bert.encoder.layer.0.output.dense.bias’, ‘bert.encoder.layer.0.output.LayerNorm.weight’, ‘bert.encoder.layer.0.output.LayerNorm.bias’, ‘bert.encoder.layer.1.attention.self.query.weight’, ‘bert.encoder.layer.1.attention.self.query.bias’, ‘bert.encoder.layer.1.attention.self.key.weight’, ‘bert.encoder.layer.1.attention.self.key.bias’, ‘bert.encoder.layer.1.attention.self.value.weight’, ‘bert.encoder.layer.1.attention.self.value.bias’, ‘bert.encoder.layer.1.attention.output.dense.weight’, ‘bert.encoder.layer.1.attention.output.dense.bias’, ‘bert.encoder.layer.1.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.1.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.1.intermediate.dense.weight’, ‘bert.encoder.layer.1.intermediate.dense.bias’, ‘bert.encoder.layer.1.output.dense.weight’, ‘bert.encoder.layer.1.output.dense.bias’, ‘bert.encoder.layer.1.output.LayerNorm.weight’, ‘bert.encoder.layer.1.output.LayerNorm.bias’, ‘bert.encoder.layer.2.attention.self.query.weight’, ‘bert.encoder.layer.2.attention.self.query.bias’, ‘bert.encoder.layer.2.attention.self.key.weight’, ‘bert.encoder.layer.2.attention.self.key.bias’, ‘bert.encoder.layer.2.attention.self.value.weight’, ‘bert.encoder.layer.2.attention.self.value.bias’, ‘bert.encoder.layer.2.attention.output.dense.weight’, ‘bert.encoder.layer.2.attention.output.dense.bias’, ‘bert.encoder.layer.2.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.2.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.2.intermediate.dense.weight’, ‘bert.encoder.layer.2.intermediate.dense.bias’, ‘bert.encoder.layer.2.output.dense.weight’, ‘bert.encoder.layer.2.output.dense.bias’, ‘bert.encoder.layer.2.output.LayerNorm.weight’, ‘bert.encoder.layer.2.output.LayerNorm.bias’, ‘bert.encoder.layer.3.attention.self.query.weight’, ‘bert.encoder.layer.3.attention.self.query.bias’, ‘bert.encoder.layer.3.attention.self.key.weight’, ‘bert.encoder.layer.3.attention.self.key.bias’, ‘bert.encoder.layer.3.attention.self.value.weight’, ‘bert.encoder.layer.3.attention.self.value.bias’, ‘bert.encoder.layer.3.attention.output.dense.weight’, ‘bert.encoder.layer.3.attention.output.dense.bias’, ‘bert.encoder.layer.3.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.3.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.3.intermediate.dense.weight’, ‘bert.encoder.layer.3.intermediate.dense.bias’, ‘bert.encoder.layer.3.output.dense.weight’, ‘bert.encoder.layer.3.output.dense.bias’, ‘bert.encoder.layer.3.output.LayerNorm.weight’, ‘bert.encoder.layer.3.output.LayerNorm.bias’, ‘bert.encoder.layer.4.attention.self.query.weight’, ‘bert.encoder.layer.4.attention.self.query.bias’, ‘bert.encoder.layer.4.attention.self.key.weight’, ‘bert.encoder.layer.4.attention.self.key.bias’, ‘bert.encoder.layer.4.attention.self.value.weight’, ‘bert.encoder.layer.4.attention.self.value.bias’, ‘bert.encoder.layer.4.attention.output.dense.weight’, ‘bert.encoder.layer.4.attention.output.dense.bias’, ‘bert.encoder.layer.4.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.4.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.4.intermediate.dense.weight’, ‘bert.encoder.layer.4.intermediate.dense.bias’, ‘bert.encoder.layer.4.output.dense.weight’, ‘bert.encoder.layer.4.output.dense.bias’, ‘bert.encoder.layer.4.output.LayerNorm.weight’, ‘bert.encoder.layer.4.output.LayerNorm.bias’, ‘bert.encoder.layer.5.attention.self.query.weight’, ‘bert.encoder.layer.5.attention.self.query.bias’, ‘bert.encoder.layer.5.attention.self.key.weight’, ‘bert.encoder.layer.5.attention.self.key.bias’, ‘bert.encoder.layer.5.attention.self.value.weight’, ‘bert.encoder.layer.5.attention.self.value.bias’, ‘bert.encoder.layer.5.attention.output.dense.weight’, ‘bert.encoder.layer.5.attention.output.dense.bias’, ‘bert.encoder.layer.5.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.5.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.5.intermediate.dense.weight’, ‘bert.encoder.layer.5.intermediate.dense.bias’, ‘bert.encoder.layer.5.output.dense.weight’, ‘bert.encoder.layer.5.output.dense.bias’, ‘bert.encoder.layer.5.output.LayerNorm.weight’, ‘bert.encoder.layer.5.output.LayerNorm.bias’, ‘bert.encoder.layer.6.attention.self.query.weight’, ‘bert.encoder.layer.6.attention.self.query.bias’, ‘bert.encoder.layer.6.attention.self.key.weight’, ‘bert.encoder.layer.6.attention.self.key.bias’, ‘bert.encoder.layer.6.attention.self.value.weight’, ‘bert.encoder.layer.6.attention.self.value.bias’, ‘bert.encoder.layer.6.attention.output.dense.weight’, ‘bert.encoder.layer.6.attention.output.dense.bias’, ‘bert.encoder.layer.6.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.6.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.6.intermediate.dense.weight’, ‘bert.encoder.layer.6.intermediate.dense.bias’, ‘bert.encoder.layer.6.output.dense.weight’, ‘bert.encoder.layer.6.output.dense.bias’, ‘bert.encoder.layer.6.output.LayerNorm.weight’, ‘bert.encoder.layer.6.output.LayerNorm.bias’, ‘bert.encoder.layer.7.attention.self.query.weight’, ‘bert.encoder.layer.7.attention.self.query.bias’, ‘bert.encoder.layer.7.attention.self.key.weight’, ‘bert.encoder.layer.7.attention.self.key.bias’, ‘bert.encoder.layer.7.attention.self.value.weight’, ‘bert.encoder.layer.7.attention.self.value.bias’, ‘bert.encoder.layer.7.attention.output.dense.weight’, ‘bert.encoder.layer.7.attention.output.dense.bias’, ‘bert.encoder.layer.7.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.7.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.7.intermediate.dense.weight’, ‘bert.encoder.layer.7.intermediate.dense.bias’, ‘bert.encoder.layer.7.output.dense.weight’, ‘bert.encoder.layer.7.output.dense.bias’, ‘bert.encoder.layer.7.output.LayerNorm.weight’, ‘bert.encoder.layer.7.output.LayerNorm.bias’, ‘bert.encoder.layer.8.attention.self.query.weight’, ‘bert.encoder.layer.8.attention.self.query.bias’, ‘bert.encoder.layer.8.attention.self.key.weight’, ‘bert.encoder.layer.8.attention.self.key.bias’, ‘bert.encoder.layer.8.attention.self.value.weight’, ‘bert.encoder.layer.8.attention.self.value.bias’, ‘bert.encoder.layer.8.attention.output.dense.weight’, ‘bert.encoder.layer.8.attention.output.dense.bias’, ‘bert.encoder.layer.8.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.8.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.8.intermediate.dense.weight’, ‘bert.encoder.layer.8.intermediate.dense.bias’, ‘bert.encoder.layer.8.output.dense.weight’, ‘bert.encoder.layer.8.output.dense.bias’, ‘bert.encoder.layer.8.output.LayerNorm.weight’, ‘bert.encoder.layer.8.output.LayerNorm.bias’, ‘bert.encoder.layer.9.attention.self.query.weight’, ‘bert.encoder.layer.9.attention.self.query.bias’, ‘bert.encoder.layer.9.attention.self.key.weight’, ‘bert.encoder.layer.9.attention.self.key.bias’, ‘bert.encoder.layer.9.attention.self.value.weight’, ‘bert.encoder.layer.9.attention.self.value.bias’, ‘bert.encoder.layer.9.attention.output.dense.weight’, ‘bert.encoder.layer.9.attention.output.dense.bias’, ‘bert.encoder.layer.9.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.9.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.9.intermediate.dense.weight’, ‘bert.encoder.layer.9.intermediate.dense.bias’, ‘bert.encoder.layer.9.output.dense.weight’, ‘bert.encoder.layer.9.output.dense.bias’, ‘bert.encoder.layer.9.output.LayerNorm.weight’, ‘bert.encoder.layer.9.output.LayerNorm.bias’, ‘bert.encoder.layer.10.attention.self.query.weight’, ‘bert.encoder.layer.10.attention.self.query.bias’, ‘bert.encoder.layer.10.attention.self.key.weight’, ‘bert.encoder.layer.10.attention.self.key.bias’, ‘bert.encoder.layer.10.attention.self.value.weight’, ‘bert.encoder.layer.10.attention.self.value.bias’, ‘bert.encoder.layer.10.attention.output.dense.weight’, ‘bert.encoder.layer.10.attention.output.dense.bias’, ‘bert.encoder.layer.10.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.10.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.10.intermediate.dense.weight’, ‘bert.encoder.layer.10.intermediate.dense.bias’, ‘bert.encoder.layer.10.output.dense.weight’, ‘bert.encoder.layer.10.output.dense.bias’, ‘bert.encoder.layer.10.output.LayerNorm.weight’, ‘bert.encoder.layer.10.output.LayerNorm.bias’, ‘bert.encoder.layer.11.attention.self.query.weight’, ‘bert.encoder.layer.11.attention.self.query.bias’, ‘bert.encoder.layer.11.attention.self.key.weight’, ‘bert.encoder.layer.11.attention.self.key.bias’, ‘bert.encoder.layer.11.attention.self.value.weight’, ‘bert.encoder.layer.11.attention.self.value.bias’, ‘bert.encoder.layer.11.attention.output.dense.weight’, ‘bert.encoder.layer.11.attention.output.dense.bias’, ‘bert.encoder.layer.11.attention.output.LayerNorm.weight’, ‘bert.encoder.layer.11.attention.output.LayerNorm.bias’, ‘bert.encoder.layer.11.intermediate.dense.weight’, ‘bert.encoder.layer.11.intermediate.dense.bias’, ‘bert.encoder.layer.11.output.dense.weight’, ‘bert.encoder.layer.11.output.dense.bias’, ‘bert.encoder.layer.11.output.LayerNorm.weight’, ‘bert.encoder.layer.11.output.LayerNorm.bias’, ‘bert.pooler.dense.weight’, ‘bert.pooler.dense.bias’, ‘cls.predictions.bias’, ‘cls.predictions.transform.dense.weight’, ‘cls.predictions.transform.dense.bias’, ‘cls.predictions.transform.LayerNorm.weight’, ‘cls.predictions.transform.LayerNorm.bias’, ‘cls.predictions.decoder.weight’, ‘cls.seq\_relationship.weight’, ‘cls.seq\_relationship.bias’])

Thanks a lot

---

<div class="post-metadata">

**Author:** ![valhalla](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/valhalla/32/4179_2.png) [@valhalla](https://discuss.huggingface.co/u/valhalla)\
**Post date:** [January 19, 2021, 5:48am UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270/2 "2021-01-19T05:48:42Z")

</div>

Not sure what you mean could please rephrase the question?  
What do you mean by

> generate a transformer, tokenizer, model and optimizer

---

<div class="post-metadata">

**Author:** ![TeoMbit](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/teombit/32/938_2.png) [@TeoMbit](https://discuss.huggingface.co/u/TeoMbit)\
**Post date:** [January 19, 2021, 8:27am UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270/3 "2021-01-19T08:27:45Z")

</div>

Hi valhalla

I found a bert language model , model.bin (I posted) and I would like to use it with the transfome libray for after training in QA squad mode. This bert language model is focus in finance domain.

sorry for my explanation, I’m starting to do some things in nlp

Thanks a lot for the reply!!!

---

<div class="post-metadata">

**Author:** ![valhalla](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/valhalla/32/4179_2.png) [@valhalla](https://discuss.huggingface.co/u/valhalla)\
**Post date:** [January 20, 2021, 7:58am UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270/4 "2021-01-20T07:58:00Z")

</div>

Is it a `transformers` model ? if yes you should be able to load the model using the `from_pretrained` method. Same for tokenizer.

To fine-tune the model for qa, you could use the `run_qa.py` script from here [transformers/examples/question-answering at master · huggingface/transformers · GitHub](https://github.com/huggingface/transformers/tree/master/examples/question-answering)

---

<div class="post-metadata">

**Author:** ![TeoMbit](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/teombit/32/938_2.png) [@TeoMbit](https://discuss.huggingface.co/u/TeoMbit)\
**Post date:** [January 20, 2021, 8:58am UTC](https://discuss.huggingface.co/t/create-a-transformer-model-from-a-pytorch-model-model-bin/3270/5 "2021-01-20T08:58:01Z")

</div>

Hi

it isn’t a transformer model, I don’t have the tokenizer, I have the file model with the extension bin that contains that I send in my at the begging a file with a sorted dicionary where you can find the layers, weithgs, …

With only that file, can I do something to use the hugginf faces modules (classes) and script’s to get the tokenizer, … and after use the script that you recomend to me??

Thanks a lot for your replies and time!!!

Regards
