# NeualPDE Model Save/Load

**URL:** https://discourse.julialang.org/t/neualpde-model-save-load/70551
**Category:** Machine Learning
**Tags:** package, diffeq
**Created:** [October 28, 2021, 1:23pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551 "2021-10-28T13:23:19Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Dr\_M\_Umut\_DEMiREZEN](https://avatars.discourse-cdn.com/v4/letter/d/e9bcb4/32.png) [@Dr\_M\_Umut\_DEMiREZEN](https://discourse.julialang.org/u/Dr_M_Umut_DEMiREZEN)
#### Post date: [October 28, 2021, 1:23pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551/1 "2021-10-28T13:23:19Z")

</div>

Hi,

After training with NeuralPDE framework, how can we save the trained model for further operations?  
in Flux framework, @save and @load functionas are available and we can save/load the model as a BSON file. But in specific to NeuralPDE, how can we do it?  
Thank you

---

<div class="post-metadata">

### Author: ![IlyaOrson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ilyaorson/32/1681_2.png) [@IlyaOrson](https://discourse.julialang.org/u/IlyaOrson)
#### Post date: [October 28, 2021, 6:38pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551/2 "2021-10-28T18:38:48Z")

</div>

You can store arbitrary Julia objects with [serialize/deserialize](https://docs.julialang.org/en/v1/stdlib/Serialization/).

---

<div class="post-metadata">

### Author: ![Dr\_M\_Umut\_DEMiREZEN](https://avatars.discourse-cdn.com/v4/letter/d/e9bcb4/32.png) [@Dr\_M\_Umut\_DEMiREZEN](https://discourse.julialang.org/u/Dr_M_Umut_DEMiREZEN)
#### Post date: [October 28, 2021, 7:04pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551/3 "2021-10-28T19:04:46Z")

</div>

Yes thank you. But I can not understand which part of the NeuralPDE that i have to save/store…

Here is the inference part of the code:

```julia
ts = [infimum(d.domain):dx:supremum(d.domain) for d in domains][1];
initθ = discretization.init_params;
acum = [0;accumulate(+, length.(initθ))];
sep = [acum[i]+1 : acum[i+1] for i in 1:length(acum)-1];
minimizers = [res.minimizer[s] for s in sep];
ups1 = [phi[1]([t], minimizers[1])[1] for t in ts];
ups2 = [phi[2]([t], minimizers[2])[1] for t in ts];
ups3 = [phi[3]([t], minimizers[3])[1] for t in ts];
ups4 = [phi[4]([t], minimizers[4])[1] for t in ts];

```

do i have to store all the objects : phi, minimizers, initθ ???

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 29, 2021, 2:20pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551/4 "2021-10-29T14:20:12Z")

</div>

If you store just the final minimal parameters (res.minimizer, or res), then you have everything to recreate the solution.

---

<div class="post-metadata">

### Author: ![Dr\_M\_Umut\_DEMiREZEN](https://avatars.discourse-cdn.com/v4/letter/d/e9bcb4/32.png) [@Dr\_M\_Umut\_DEMiREZEN](https://discourse.julialang.org/u/Dr_M_Umut_DEMiREZEN)
#### Post date: [October 31, 2021, 12:06pm UTC](https://discourse.julialang.org/t/neualpde-model-save-load/70551/5 "2021-10-31T12:06:09Z")

</div>

OK thank you. it worked.
