tsqn commited on
Commit
0b830d6
·
verified ·
1 Parent(s): 1fd2df8

Create utils.py

Browse files
Files changed (1) hide show
  1. utils.py +36 -0
utils.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def install_packages():
2
+ import subprocess
3
+ import sys
4
+ import importlib
5
+
6
+ def _is_package_available(name) -> bool:
7
+ try:
8
+ importlib.import_module(name)
9
+ return True
10
+ except (ImportError, ModuleNotFoundError):
11
+ return False
12
+
13
+ # upgrade pip
14
+ subprocess.run(
15
+ f"{sys.executable} -m pip install --upgrade pip", shell=True)
16
+ subprocess.run(
17
+ f"{sys.executable} -m pip install --upgrade wheel setuptools packaging", shell=True)
18
+
19
+ # install ninja
20
+ if not _is_package_available("ninja"):
21
+ subprocess.run(f"{sys.executable} -m pip install ninja", shell=True)
22
+
23
+ # install flash attention
24
+ if not _is_package_available("flash_attn"):
25
+ subprocess.run(
26
+ f"{sys.executable} -m pip install flash-attn --no-build-isolation",
27
+ env={"MAX_JOBS": "4"},
28
+ shell=True,
29
+ )
30
+
31
+ # install xformers
32
+ if not _is_package_available("xformers"):
33
+ subprocess.run(
34
+ f"{sys.executable} -m pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers",
35
+ shell=True,
36
+ )