mirror of
https://github.com/huggingface/diffusers.git
synced 2026-01-27 17:22:53 +03:00
147 lines
5.0 KiB
Markdown
147 lines
5.0 KiB
Markdown
<!--Copyright 2025 The HuggingFace Team. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
|
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations under the License.
|
|
-->
|
|
|
|
# Installation
|
|
|
|
Diffusers is tested on Python 3.8+ and PyTorch 1.4+. Install [PyTorch](https://pytorch.org/get-started/locally/) according to your system and setup.
|
|
|
|
Create a [virtual environment](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) for easier management of separate projects and to avoid compatibility issues between dependencies. Use [uv](https://docs.astral.sh/uv/), a Rust-based Python package and project manager, to create a virtual environment and install Diffusers.
|
|
|
|
```bash
|
|
uv venv my-env
|
|
source my-env/bin/activate
|
|
```
|
|
|
|
Install Diffusers with one of the following methods.
|
|
|
|
<hfoptions id="install">
|
|
<hfoption id="pip">
|
|
|
|
PyTorch only supports Python 3.8 - 3.11 on Windows.
|
|
|
|
```bash
|
|
uv pip install diffusers["torch"] transformers
|
|
```
|
|
|
|
</hfoption>
|
|
<hfoption id="conda">
|
|
|
|
```bash
|
|
conda install -c conda-forge diffusers
|
|
```
|
|
|
|
</hfoption>
|
|
<hfoption id="source">
|
|
|
|
A source install installs the `main` version instead of the latest `stable` version. The `main` version is useful for staying updated with the latest changes but it may not always be stable. If you run into a problem, open an [Issue](https://github.com/huggingface/diffusers/issues/new/choose) and we will try to resolve it as soon as possible.
|
|
|
|
Make sure [Accelerate](https://huggingface.co/docs/accelerate/index) is installed.
|
|
|
|
```bash
|
|
uv pip install accelerate
|
|
```
|
|
|
|
Install Diffusers from source with the command below.
|
|
|
|
```bash
|
|
uv pip install git+https://github.com/huggingface/diffusers
|
|
```
|
|
|
|
</hfoption>
|
|
</hfoptions>
|
|
|
|
## Editable install
|
|
|
|
An editable install is recommended for development workflows or if you're using the `main` version of the source code. A special link is created between the cloned repository and the Python library paths. This avoids reinstalling a package after every change.
|
|
|
|
Clone the repository and install Diffusers with the following commands.
|
|
|
|
```bash
|
|
git clone https://github.com/huggingface/diffusers.git
|
|
cd diffusers
|
|
uv pip install -e ".[torch]"
|
|
```
|
|
|
|
> [!WARNING]
|
|
> You must keep the `diffusers` folder if you want to keep using the library with the editable install.
|
|
|
|
Update your cloned repository to the latest version of Diffusers with the command below.
|
|
|
|
```bash
|
|
cd ~/diffusers/
|
|
git pull
|
|
```
|
|
|
|
## Cache
|
|
|
|
Model weights and files are downloaded from the Hub to a cache, which is usually your home directory. Change the cache location with the [HF_HOME](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome) or [HF_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache) environment variables or configuring the `cache_dir` parameter in methods like [`~DiffusionPipeline.from_pretrained`].
|
|
|
|
<hfoptions id="cache">
|
|
<hfoption id="env variable">
|
|
|
|
```bash
|
|
export HF_HOME="/path/to/your/cache"
|
|
export HF_HUB_CACHE="/path/to/your/hub/cache"
|
|
```
|
|
|
|
</hfoption>
|
|
<hfoption id="from_pretrained">
|
|
|
|
```py
|
|
from diffusers import DiffusionPipeline
|
|
|
|
pipeline = DiffusionPipeline.from_pretrained(
|
|
"black-forest-labs/FLUX.1-dev",
|
|
cache_dir="/path/to/your/cache"
|
|
)
|
|
```
|
|
|
|
</hfoption>
|
|
</hfoptions>
|
|
|
|
Cached files allow you to use Diffusers offline. Set the [HF_HUB_OFFLINE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline) environment variable to `1` to prevent Diffusers from connecting to the internet.
|
|
|
|
```shell
|
|
export HF_HUB_OFFLINE=1
|
|
```
|
|
|
|
For more details about managing and cleaning the cache, take a look at the [Understand caching](https://huggingface.co/docs/huggingface_hub/guides/manage-cache) guide.
|
|
|
|
## Telemetry logging
|
|
|
|
Diffusers gathers telemetry information during [`~DiffusionPipeline.from_pretrained`] requests.
|
|
The data gathered includes the Diffusers and PyTorch version, the requested model or pipeline class,
|
|
and the path to a pretrained checkpoint if it is hosted on the 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.
|
|
|
|
Opt-out and disable telemetry collection with the [HF_HUB_DISABLE_TELEMETRY](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry) environment variable.
|
|
|
|
<hfoptions id="telemetry">
|
|
<hfoption id="Linux/macOS">
|
|
|
|
```bash
|
|
export HF_HUB_DISABLE_TELEMETRY=1
|
|
```
|
|
|
|
</hfoption>
|
|
<hfoption id="Windows">
|
|
|
|
```bash
|
|
set HF_HUB_DISABLE_TELEMETRY=1
|
|
```
|
|
|
|
</hfoption>
|
|
</hfoptions>
|