Installation¶
๐ค Diffusers uses the pyproject.toml
file for building and packaging, as introduced in PEP 517. View this configuration file file for more details on the specific build configuration of this project.
๐ค Diffusers is tested on Python 3.8+, MindSpore 2.3.1. Follow the installation instructions below for the deep learning library you are using:
- MindSpore installation instructions
Install with pip¶
You should install ๐ค Diffusers in a virtual environment. If you're unfamiliar with Python virtual environments, take a look at this guide. A virtual environment makes it easier to manage different projects and avoid compatibility issues between dependencies.
Start by creating a virtual environment in your project directory:
python -m venv .env
Activate the virtual environment:
source .env/bin/activate
You should also install ๐ค Transformers because ๐ค Diffusers relies on its models:
pip install mindone transformers
Tip
We define both required and optional dependencies in the pyproject.toml
file. If you need to install optional dependencies, you can specify them. For example, if you want to install the 'training' optional dependency, you would run:
pip install mindone[training]
Install from source¶
Before installing ๐ค Diffusers from source, make sure you have MindSpore installed.
Then install ๐ค Diffusers from source:
pip install git+https://github.com/mindspore-lab/mindone
This command installs the bleeding edge main
version rather than the latest stable
version.
The main
version is useful for staying up-to-date with the latest developments.
For instance, if a bug has been fixed since the last official release but a new release hasn't been rolled out yet.
However, this means the main
version may not always be stable.
We strive to keep the main
version operational, and most issues are usually resolved within a few hours or a day.
If you run into a problem, please open an Issue so we can fix it even sooner!
Editable install¶
You will need an editable install if you'd like to:
- Use the
main
version of the source code. - Contribute to ๐ค Diffusers and need to test changes in the code.
Clone the repository and install ๐ค Diffusers with the following commands:
git clone https://github.com/mindspore-lab/mindone.git
cd mindone
Warning
โ ๏ธ PEP 660 โ Editable installs for pyproject.toml based builds defines how to build projects that only use pyproject.toml
. Build tools must implement PEP 660 for editable installs to work. You need a front-end (such as pip โฅ 21.3) and a backend. The statuses of some popular backends are:
pip install -e .
These commands will link the folder you cloned the repository to and your Python library paths.
Python will now look inside the folder you cloned to in addition to the normal library paths.
For example, if your Python packages are typically installed in ~/anaconda3/envs/main/lib/python3.8/site-packages/
, Python will also search the ~/mindone/
folder you cloned to.
Warning
You must keep the mindone
folder if you want to keep using the library.
Now you can easily update your clone to the latest version of ๐ค Diffusers with the following command:
cd ~/mindone/
git pull
Your Python environment will find the main
version of ๐ค Diffusers on the next run.
Cache¶
Model weights and files are downloaded from the Hub to a cache which is usually your home directory. You can change the cache location by specifying the HF_HOME
or HUGGINFACE_HUB_CACHE
environment variables or configuring the cache_dir
parameter in methods like from_pretrained
.
Cached files allow you to run ๐ค Diffusers offline. To prevent ๐ค Diffusers from connecting to the internet, set the HF_HUB_OFFLINE
environment variable to True
and ๐ค Diffusers will only load previously downloaded files in the cache.
export HF_HUB_OFFLINE=True
For more details about managing and cleaning the cache, take a look at the caching guide.
Telemetry logging¶
Our library gathers telemetry information during from_pretrained
requests.
The data gathered includes the version of ๐ค Diffusers and PyTorch/Flax, the requested model or pipeline class,
and the path to a pretrained checkpoint if it is hosted on the Hugging Face Hub.
This usage data helps us debug issues and prioritize new features.
Telemetry is only sent when loading models and pipelines from the Hub,
and it is not collected if you're loading local files.
We understand that not everyone wants to share additional information,and we respect your privacy.
You can disable telemetry collection by setting the DISABLE_TELEMETRY
environment variable from your terminal:
On Linux/MacOS:
export DISABLE_TELEMETRY=YES
On Windows:
set DISABLE_TELEMETRY=YES