25
25
try :
26
26
import transformers as _transformers
27
27
28
+ # triggers error if neuralmagic/transformers is not installed
29
+ _transformers .models .bert .modeling_bert .QATMatMul
28
30
_transformers_import_error = None
29
31
except Exception as _transformers_import_err :
30
32
_transformers_import_error = _transformers_import_err
31
33
32
34
33
35
_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" )
34
41
35
42
36
43
def _install_transformers_and_deps ():
37
44
45
+ import subprocess as _subprocess
46
+ import sys as _sys
47
+
38
48
import deepsparse as _deepsparse
39
- import pip as _pip
40
49
41
- transformers_branch = (
42
- "master "
50
+ nm_transformers_release = (
51
+ "nightly "
43
52
if not _deepsparse .is_release
44
- else f"release/ { _deepsparse .version .version_major_minor } "
53
+ else f"v { _deepsparse .version .version_major_minor } "
45
54
)
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
49
57
)
50
58
51
59
try :
52
- _pip . main (
60
+ _subprocess . check_call (
53
61
[
62
+ _sys .executable ,
63
+ "-m" ,
64
+ "pip" ,
54
65
"install" ,
55
66
transformers_requirement ,
56
- "datasets" ,
67
+ "datasets<1.18.0 " ,
57
68
"sklearn" ,
58
69
"seqeval" ,
59
70
]
@@ -66,7 +77,7 @@ def _install_transformers_and_deps():
66
77
raise ValueError (
67
78
"Unable to install and import deepsparse-transformers dependencies check "
68
79
"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 } `"
70
81
)
71
82
72
83
@@ -82,13 +93,15 @@ def _check_transformers_install():
82
93
# skip any further checks
83
94
return
84
95
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"
88
101
)
89
102
_install_transformers_and_deps ()
90
103
91
- # check NM fork installed with QATMatMul available
104
+ # re check import after potential install
92
105
try :
93
106
import transformers as _transformers
94
107
@@ -98,7 +111,7 @@ def _check_transformers_install():
98
111
"transformers.models.bert.modeling_bert.QATMatMul not availalbe. the"
99
112
"neuralmagic fork of transformers may not be installed. it can be "
100
113
"installed via "
101
- "`pip install git+https://github.com/neuralmagic/transformers.git `"
114
+ f "`pip install { _NM_TRANSFORMERS_NIGHTLY } `"
102
115
)
103
116
104
117
0 commit comments