lunar-walker opened a new issue #8118:
URL: https://github.com/apache/tvm/issues/8118
Hi,
I have successfully built TVM (latest 0.8 source from git) on windows 10 x
64. However, while trying to optimize a model (pretrained, insightface arcface
r34_v1) through autotune, i encountered
AttributeError: Can't pickle local object
'default_module_loader.<locals>.default_module_loader_mgr'
Issue seems to be in tvm/autotvm/measure/measure_methods.py: Method
default_module_loader(pre_load_function=None) which contains an inner function
def default_module_loader_mgr(remote_kwargs, build_result). Can we rewrite
default_module_loader so that it doesn't contain an inner function, thus making
it picklable.
Complete error stack is as under:-
python ..\tune_relay_x86.py
Extract tasks...
[20:45:17]
C:\Jenkins\workspace\mxnet-tag\mxnet\src\nnvm\legacy_json_util.cc:209: Loading
symbol saved by previous version v0.12.1. Attempting to upgrade...
[20:45:17]
C:\Jenkins\workspace\mxnet-tag\mxnet\src\nnvm\legacy_json_util.cc:217: Symbol
successfully upgraded!
Tuning...
[Task 1/17] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/800) |
0.00 s
[INFO] Tracker binded to 0.0.0.0 9000 # Print message added by me to
confirm if tracker is being binded successfully
[INFO] Server binded to 0.0.0.0 9001 # Print message added by me to
confirm if server is being binded successfully
Traceback (most recent call last):
File "..\tune_relay_x86.py", line 142, in <module>
tune_and_evaluate(tuning_option)
File "..\tune_relay_x86.py", line 86, in tune_and_evaluate
tune_kernels(tasks, **tuning_opt)
File "..\tune_relay_x86.py", line 68, in tune_kernels
autotvm.callback.log_to_file(log_filename)])
File
"D:\miniconda3\envs\insight-kera\lib\site-packages\tvm\autotvm\tuner\tuner.py",
line 133, in tune
results = measure_batch(inputs)
File
"D:\miniconda3\envs\insight-kera\lib\site-packages\tvm\autotvm\measure\measure.py",
line 266, in measure_batch
results = runner.run(measure_inputs, build_results)
File
"D:\miniconda3\envs\insight-kera\lib\site-packages\tvm\autotvm\measure\measure_methods.py",
line 314, in run
module_loader,
File
"D:\miniconda3\envs\insight-kera\lib\site-packages\tvm\autotvm\measure\local_executor.py",
line 156, in submit
process.start()
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\process.py",
line 112, in start
self._popen = self._Popen(self)
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\context.py",
line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\context.py",
line 322, in _Popen
return Popen(process_obj)
File
"D:\miniconda3\envs\insight-kera\lib\multiprocessing\popen_spawn_win32.py",
line 89, in __init__
reduction.dump(process_obj, to_child)
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\reduction.py",
line 60, in dump
ForkingPickler(file, protocol).dump(obj)
**AttributeError: Can't pickle local object
'default_module_loader.<locals>.default_module_loader_mgr'**
Done.
(insight-kera) D:\code\tvmmodels>Traceback (most recent call last):
File "<string>", line 1, in <module>
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\spawn.py", line
105, in spawn_main
exitcode = _main(fd)
File "D:\miniconda3\envs\insight-kera\lib\multiprocessing\spawn.py", line
115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input
complete script is as
https://gist.github.com/lunar-walker/48e969934663e1634d852f000ec4d73c
Thanks for help...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]