installation.mdx 4.63 KB
Newer Older
Nathan Lambert's avatar
Nathan Lambert committed
1
2
3
4
5
6
7
8
9
10
11
12
<!--Copyright 2022 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.
-->

13
# Installation
Patrick von Platen's avatar
Patrick von Platen committed
14

15
Install 🤗 Diffusers for whichever deep learning library you’re working with.
Patrick von Platen's avatar
Patrick von Platen committed
16

17
18
19
20
🤗 Diffusers is tested on Python 3.7+, PyTorch 1.7.0+ and flax. Follow the installation instructions below for the deep learning library you are using:

- [PyTorch](https://pytorch.org/get-started/locally/) installation instructions.
- [Flax](https://flax.readthedocs.io/en/latest/) installation instructions.
Patrick von Platen's avatar
Patrick von Platen committed
21

22
## Install with pip
Patrick von Platen's avatar
Patrick von Platen committed
23

24
25
26
27
28
29
30
31
32
33
34
35
36
37
You should install 🤗 Diffusers in a [virtual environment](https://docs.python.org/3/library/venv.html).
If you're unfamiliar with Python virtual environments, take a look at this [guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).
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:

```bash
python -m venv .env
```

Activate the virtual environment:

```bash
source .env/bin/activate
Patrick von Platen's avatar
Patrick von Platen committed
38
```
39
40
41

Now you're ready to install 🤗 Diffusers with the following command:

42
43
44
45
46
47
48
49
**For PyTorch**

```bash
pip install diffusers["torch"]
```

**For Flax**

50
```bash
51
pip install diffusers["flax"]
Patrick von Platen's avatar
Patrick von Platen committed
52
53
```

54
55
## Install from source

56
57
58
59
60
61
62
63
64
65
Before intsalling `diffusers` from source, make sure you have `torch` and `accelerate` installed.

For `torch` installation refer to the `torch` [docs](https://pytorch.org/get-started/locally/#start-locally).

To install `accelerate`

```bash
pip install accelerate
```

66
67
68
69
70
71
72
73
74
75
76
Install 🤗 Diffusers from source with the following command:

```bash
pip install git+https://github.com/huggingface/diffusers
```

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.
77
If you run into a problem, please open an [Issue](https://github.com/huggingface/transformers/issues), so we can fix it even sooner!
78
79
80
81
82
83
84
85
86
87
88
89

## 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:

```bash
git clone https://github.com/huggingface/diffusers.git
Partho's avatar
Partho committed
90
cd diffusers
91
92
93
94
95
96
97
98
99
100
101
102
```

**For PyTorch**

```
pip install -e ".[torch]"
```

**For Flax**

```
pip install -e ".[flax]"
103
104
105
106
107
```

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.7/site-packages/`, Python will also search the folder you cloned to: `~/diffusers/`.
Patrick von Platen's avatar
Patrick von Platen committed
108

109
<Tip warning={true}>
Patrick von Platen's avatar
Patrick von Platen committed
110

111
You must keep the `diffusers` folder if you want to keep using the library.
Patrick von Platen's avatar
Patrick von Platen committed
112

113
</Tip>
Patrick von Platen's avatar
Patrick von Platen committed
114

115
116
117
118
119
120
Now you can easily update your clone to the latest version of 🤗 Diffusers with the following command:

```bash
cd ~/diffusers/
git pull
```
Patrick von Platen's avatar
Patrick von Platen committed
121

122
Your Python environment will find the `main` version of 🤗 Diffusers on the next run.
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

## Notice on telemetry logging

Our library gathers telemetry information during `from_pretrained()` requests.
This data 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 Hub.
This usage data helps us debug issues and prioritize new features.
No private data, such as paths to models saved locally on disk, is ever collected.

We understand that not everyone wants to share additional information, and we respect your privacy,
so you can disable telemetry collection by setting the `DISABLE_TELEMETRY` environment variable from your terminal:

On Linux/MacOS:
```bash
export DISABLE_TELEMETRY=YES
```

On Windows:
```bash
set DISABLE_TELEMETRY=YES
```