# Same scVI model with different values on mac silicon and linux?!

**URL:** <https://discourse.scverse.org/t/same-scvi-model-with-different-values-on-mac-silicon-and-linux/3846>\
**Category:** Help\
**Tags:** scvi\
**Created:** [November 3, 2025, 3:05pm UTC](https://discourse.scverse.org/t/same-scvi-model-with-different-values-on-mac-silicon-and-linux/3846 "2025-11-03T15:05:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![munta](https://avatars.discourse-cdn.com/v4/letter/m/e19b73/32.png) [@munta](https://discourse.scverse.org/u/munta)\
**Post date:** [November 3, 2025, 3:05pm UTC](https://discourse.scverse.org/t/same-scvi-model-with-different-values-on-mac-silicon-and-linux/3846/1 "2025-11-03T15:05:26Z")

</div>

Hi.

I have used scvi model to integrate data from different batches. I used HPC cluster and gpu for that.  
when I checked the data on cluster

```auto
adata.layers['scvi_norm'] = vae.get_normalized_expression(adata=adata,library_size=1e4)
>>> adata.layers['scvi_norm'].min()
3.869816e-10
>>> adata.layers['scvi_norm'].max()
1822.8737

```

but when I analyse the data locally on mac (M silicon) I got different values?

```auto
>>> adata.layers['scvi_norm'] = vae.get_normalized_expression(adata=adata,library_size=1e4)
>>> adata.layers['scvi_norm'].min()
7.775142e-10
>>> adata.layers['scvi_norm'].max()
1753.7305

```

is this normal?

thanks

---

<div class="post-metadata">

**Author:** ![ori-kron-wis](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.scverse.org/ori-kron-wis/32/1099_2.png) [@ori-kron-wis](https://discourse.scverse.org/u/ori-kron-wis)\
**Post date:** [November 4, 2025, 7:09am UTC](https://discourse.scverse.org/t/same-scvi-model-with-different-values-on-mac-silicon-and-linux/3846/2 "2025-11-04T07:09:02Z")

</div>

It’s definitely normal to get slightly different results between different OS and HW you run on. The question if the model was also trained on different machines (in that case, it’s even more likely to be different)

also scvi tools compute normalized gene expression for each cell by sampling from the latent variables of your trained model. So that sampling can inject randomness to it.

And above all make sure you set the seed in order to try to reproduce your results.
