# Load a pre-trained Pytorch model in Julia

**URL:** <https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932>\
**Category:** Machine Learning\
**Tags:** flux\
**Created:** [April 1, 2023, 7:33am UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932 "2023-04-01T07:33:19Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jian\_ZUO](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jian_zuo/32/33738_2.png) [@Jian\_ZUO](https://discourse.julialang.org/u/Jian_ZUO)\
**Post date:** [April 1, 2023, 7:33am UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/1 "2023-04-01T07:33:19Z")

</div>

Hi all,  
What are the best practices to load a pre-trained pytorch model in Julia (e.g. Flux.jl)?  
Thank you!

---

<div class="post-metadata">

**Author:** ![dmolina](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmolina/32/5246_2.png) [@dmolina](https://discourse.julialang.org/u/dmolina)\
**Post date:** [April 1, 2023, 12:27pm UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/2 "2023-04-01T12:27:42Z")

</div>

Depends on the model, for CNN you should check Metalhead, [Home · Metalhead.jl](https://fluxml.ai/Metalhead.jl/dev/). Also, for an easier interface, you could see FastAPI, [FastAI.jl - FastAI.jl](https://fluxml.ai/FastAI.jl/dev/FastAI@dev/doc/README.md.html).

---

<div class="post-metadata">

**Author:** ![Jian\_ZUO](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jian_zuo/32/33738_2.png) [@Jian\_ZUO](https://discourse.julialang.org/u/Jian_ZUO)\
**Post date:** [April 1, 2023, 2:06pm UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/3 "2023-04-01T14:06:37Z")

</div>

Thank you!  
In my current case, it is only MLP.  
I am going to check the FastAI.jl

---

<div class="post-metadata">

**Author:** ![LongWeiZJU](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longweizju/32/52274_2.png) [@LongWeiZJU](https://discourse.julialang.org/u/LongWeiZJU)\
**Post date:** [August 16, 2023, 3:04am UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/4 "2023-08-16T03:04:10Z")

</div>

Hi, I have the same question.  
Have you made a success of trying FastAI.jl to load a pre-trained pytorch model?

---

<div class="post-metadata">

**Author:** ![Jian\_ZUO](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jian_zuo/32/33738_2.png) [@Jian\_ZUO](https://discourse.julialang.org/u/Jian_ZUO)\
**Post date:** [August 16, 2023, 2:45pm UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/5 "2023-08-16T14:45:39Z")

</div>

Hi, in my project, I kept using Pytorch finally, so I did not try it out in Julia.  
You may try to find some tutorials in FastAI.

---

<div class="post-metadata">

**Author:** ![ToucheSir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/touchesir/32/14411_2.png) [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Post date:** [August 16, 2023, 3:30pm UTC](https://discourse.julialang.org/t/load-a-pre-trained-pytorch-model-in-julia/96932/6 "2023-08-16T15:30:15Z")

</div>

The problem is that the PyTorch saved model format does not contain enough information to reconstruct the model without knowing what the model structure is ahead of time. You’d have the same problem trying to load PyTorch weights into a TF or JAX model. How libraries like Metalhead.jl and Transformers.jl handle this is by keeping a known list of models for which we can specify direct mappings between PyTorch → Julia. This is somewhat manual, but you could try reusing the utility functionality from either library for your own code to save some work.
