Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 072669e

Browse files
authored
update transformers install flow to latest changes from sparseml (#252) (#253)
* update transformers install flow to latest changes from sparseml * test fixes
1 parent 8089177 commit 072669e

File tree

1 file changed

+28
-15
lines changed

1 file changed

+28
-15
lines changed

src/deepsparse/transformers/__init__.py

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,46 @@
2525
try:
2626
import transformers as _transformers
2727

28+
# triggers error if neuralmagic/transformers is not installed
29+
_transformers.models.bert.modeling_bert.QATMatMul
2830
_transformers_import_error = None
2931
except Exception as _transformers_import_err:
3032
_transformers_import_error = _transformers_import_err
3133

3234

3335
_LOGGER = _logging.getLogger(__name__)
36+
_NM_TRANSFORMERS_TAR_TEMPLATE = (
37+
"https://github.com/neuralmagic/transformers/releases/download/"
38+
"{version}/transformers-4.7.0.dev0-py3-none-any.whl"
39+
)
40+
_NM_TRANSFORMERS_NIGHTLY = _NM_TRANSFORMERS_TAR_TEMPLATE.format(version="nightly")
3441

3542

3643
def _install_transformers_and_deps():
3744

45+
import subprocess as _subprocess
46+
import sys as _sys
47+
3848
import deepsparse as _deepsparse
39-
import pip as _pip
4049

41-
transformers_branch = (
42-
"master"
50+
nm_transformers_release = (
51+
"nightly"
4352
if not _deepsparse.is_release
44-
else f"release/{_deepsparse.version.version_major_minor}"
53+
else f"v{_deepsparse.version.version_major_minor}"
4554
)
46-
transformers_requirement = (
47-
"transformers @ git+https://github.com/neuralmagic/transformers.git"
48-
f"@{transformers_branch}"
55+
transformers_requirement = _NM_TRANSFORMERS_TAR_TEMPLATE.format(
56+
version=nm_transformers_release
4957
)
5058

5159
try:
52-
_pip.main(
60+
_subprocess.check_call(
5361
[
62+
_sys.executable,
63+
"-m",
64+
"pip",
5465
"install",
5566
transformers_requirement,
56-
"datasets",
67+
"datasets<1.18.0",
5768
"sklearn",
5869
"seqeval",
5970
]
@@ -66,7 +77,7 @@ def _install_transformers_and_deps():
6677
raise ValueError(
6778
"Unable to install and import deepsparse-transformers dependencies check "
6879
"that transformers is installed, if not, install via "
69-
"`pip install git+https://github.com/neuralmagic/transformers.git`"
80+
f"`pip install {_NM_TRANSFORMERS_NIGHTLY}`"
7081
)
7182

7283

@@ -82,13 +93,15 @@ def _check_transformers_install():
8293
# skip any further checks
8394
return
8495
else:
85-
_LOGGER.info(
86-
"No installation of transformers found. Installing deepsparse-transformers "
87-
"dependencies"
96+
_LOGGER.warning(
97+
"deepsparse-transformers installation not detected. Installing "
98+
"deepsparse-transformers dependencies if transformers is already "
99+
"installed in the environment, it will be overwritten. Set "
100+
"environment variable NM_NO_AUTOINSTALL_TRANSFORMERS to disable"
88101
)
89102
_install_transformers_and_deps()
90103

91-
# check NM fork installed with QATMatMul available
104+
# re check import after potential install
92105
try:
93106
import transformers as _transformers
94107

@@ -98,7 +111,7 @@ def _check_transformers_install():
98111
"transformers.models.bert.modeling_bert.QATMatMul not availalbe. the"
99112
"neuralmagic fork of transformers may not be installed. it can be "
100113
"installed via "
101-
"`pip install git+https://github.com/neuralmagic/transformers.git`"
114+
f"`pip install {_NM_TRANSFORMERS_NIGHTLY}`"
102115
)
103116

104117

0 commit comments

Comments
 (0)