File size: 1,150 Bytes
0b830d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def install_packages():
    import subprocess
    import sys
    import importlib

    def _is_package_available(name) -> bool:
        try:
            importlib.import_module(name)
            return True
        except (ImportError, ModuleNotFoundError):
            return False

    # upgrade pip
    subprocess.run(
        f"{sys.executable} -m pip install --upgrade pip", shell=True)
    subprocess.run(
        f"{sys.executable} -m pip install --upgrade wheel setuptools packaging", shell=True)

    # install ninja
    if not _is_package_available("ninja"):
        subprocess.run(f"{sys.executable} -m pip install ninja", shell=True)

    # install flash attention
    if not _is_package_available("flash_attn"):
        subprocess.run(
            f"{sys.executable} -m pip install flash-attn --no-build-isolation",
            env={"MAX_JOBS": "4"},
            shell=True,
        )

    # install xformers
    if not _is_package_available("xformers"):
        subprocess.run(
            f"{sys.executable} -m pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers",
            shell=True,
        )