Upload AI models

Author

Martin Proks

Published

June 2, 2024

# !pip install huggingface_hub
DATASETS = [{
    "repo_name": "brickmanlab/mouse-scanvi",
    "model_path": "../results/02_mouse_integration/scanvi_ns_15/",
    "description": "Mouse scANVI reference model",
    "references": "Proks, Salehin et al., biorXiv",
    "training_data_url": "https://zenodo.org/records/10669600/files/01_mouse_reprocessed.h5ad?download=1",
    "training_code_url": "https://github.com/brickmanlab/proks-salehin-et-al",
}, {
    "repo_name": "brickmanlab/human-scanvi",
    "model_path": "../results/02_human_integration/05_scanvi_ns15/",
    "description": "Human scANVI reference model",
    "references": "Proks, Salehin et al., biorXiv",
    "training_data_url": "https://zenodo.org/records/10669600/files/32_human_adata.h5ad?download=1",
    "training_code_url": "https://github.com/brickmanlab/proks-salehin-et-al",
}]
import os

import anndata
import scanpy as sc
import scvi
import torch
from scvi.hub import HubMetadata, HubModel, HubModelCardHelper

scvi.settings.seed = 0
print("Last run with scvi-tools version:", scvi.__version__)
/home/fdb589/projects/data/Brickman/conda/envs/scvi-1.0.0/lib/python3.10/site-packages/scvi/_settings.py:63: UserWarning: Since v1.0.0, scvi-tools no longer uses a random seed by default. Run `scvi.settings.seed = 0` to reproduce results from previous versions.
  self.seed = seed
/home/fdb589/projects/data/Brickman/conda/envs/scvi-1.0.0/lib/python3.10/site-packages/scvi/_settings.py:70: UserWarning: Setting `dl_pin_memory_gpu_training` is deprecated in v1.0 and will be removed in v1.1. Please pass in `pin_memory` to the data loaders instead.
  self.dl_pin_memory_gpu_training = (
[rank: 0] Global seed set to 0
Last run with scvi-tools version: 1.0.0
try:
    os.environ['HF_TOKEN']
except:
    print("Make sure you setup `HF_TOKEN` in shell !")
for ds in DATASETS:
    hm = HubMetadata.from_dir(ds['model_path'], anndata_version=anndata.__version__)
    hmch = HubModelCardHelper.from_dir(
        ds['model_path'],
        license_info="cc-by-4.0",
        anndata_version=anndata.__version__,
        data_modalities=["rna"],
        data_is_annotated=True,
        description=ds['description'],
        references=ds['references'],
        model_parent_module=ds['training_data_url'],
        training_data_url=ds['training_code_url']
    )
    hmo = HubModel(ds['model_path'], metadata=hm, model_card=hmch)

    hmo.push_to_huggingface_hub(
        repo_name=ds['repo_name'], repo_token=os.environ['HF_TOKEN'], repo_create=True
    )
INFO     File ../results/02_mouse_integration/scanvi_ns_15/model.pt already downloaded                             
INFO     File ../results/02_mouse_integration/scanvi_ns_15/model.pt already downloaded                             
INFO     File ../results/02_human_integration/05_scanvi_ns15/model.pt already downloaded                           
INFO     File ../results/02_human_integration/05_scanvi_ns15/model.pt already downloaded