В классе есть @classmethod, который вызывается автоматически при импорте класса. Я хочу знать параметры, передаваемые этому методу. Поэтому я намеренно добавил код для сбоя этой функции и печати трассировки стека. Тем не менее, это не печать, кто вызывает этот метод загрузки.
Я действительно хочу знать, кто отправляет значения параметров (в частности, cuda_device )
@classmethod
def load(cls,
config: Params,
serialization_dir: str,
weights_file: str = None,
cuda_device: int = -1) -> 'Model':
who called me? #line added by me to crash and print stacktrace
File "/data/TFS/AI%20-%20Projects/MULTI_PROC/allen_ws/urls.py", line 19, in <module>
from allen_ws import ANLP_API_SB1
File "/data/TFS/AI%20-%20Projects/MULTI_PROC/allen_ws/ANLP_API_SB1.py", line 5, in <module>
from allennlp.predictors.predictor import Predictor
File "/anaconda3/envs/allennlpenv/lib/python3.6/site-packages/allennlp/predictors/__init__.py", line 9, in <module>
from allennlp.predictors.predictor import Predictor
File "/anaconda3/envs/allennlpenv/lib/python3.6/site-packages/allennlp/predictors/predictor.py", line 8, in <module>
from allennlp.models import Model
File "/anaconda3/envs/allennlpenv/lib/python3.6/site-packages/allennlp/models/__init__.py", line 6, in <module>
from allennlp.models.model import Model
File "/anaconda3/envs/allennlpenv/lib/python3.6/site-packages/allennlp/models/model.py", line 331
who called me?
В приведенных выше моделях трассировки стека / __ init __ .py вызывает строку 331 model.py (в строке 331 я добавил «кто меня вызвал»), содержимое моделей / __ init __ .py в следующей строке 6: написано:
from allennlp.models.model import Model
Это также не вызов метода _load с какими-либо параметрами.
Предложения, пожалуйста, как мне найти, кто передает значение параметра cuda_device в функцию загрузки?