mit-han-lab / tinyengine

[NeurIPS 2020] MCUNet: Tiny Deep Learning on IoT Devices; [NeurIPS 2021] MCUNetV2: Memory-Efficient Patch-based Inference for Tiny Deep Learning; [NeurIPS 2022] MCUNetV3: On-Device Training Under 256KB Memory
https://mcunet.mit.edu
MIT License
757 stars 127 forks source link

tutorial python examples/vww.py not work in python 3.8 #89

Open xpsheng opened 1 year ago

xpsheng commented 1 year ago

Using Windows WSL setup, environment info like below: Ubuntu 20.04.3 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64) python 3.8.10 by default.

Follow the related setup from tutorial https://github.com/mit-han-lab/tinyengine/tree/main/tutorial/inference There got following error. Could tinyengine development pointout what's the problem there? or current setup verify/support only in python 3.6 not for other newer version?

(tinyengine) sxp@JJ-S1:~/tinyengine$ python examples/vww.py Downloading: "https://hanlab.mit.edu/projects/tinyml/mcunet/release/mcunet-5fps_vww.tflite" to /home/sxp/.torch/mcunet/mcunet-5fps_vww.tflite Traceback (most recent call last): File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 1354, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 1252, in request self._send_request(method, url, body, headers, encode_chunked) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 1298, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 1247, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 1007, in _send_output self.send(msg) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 947, in send self.connect() File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/http/client.py", line 1421, in connect self.sock = self._context.wrap_socket(self.sock, File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/ssl.py", line 500, in wrap_socket return self.sslsocket_class._create( File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/ssl.py", line 1040, in _create self.do_handshake() File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/ssl.py", line 1309, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/sxp/tinyengine/mcunet/mcunet/utils/common_tools.py", line 104, in download_url urlretrieve(url, cached_file) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 247, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 525, in open response = self._open(req, data) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 542, in _open result = self._call_chain(self.handle_open, protocol, protocol + File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 502, in _call_chain result = func(*args) File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 1397, in https_open return self.do_open(http.client.HTTPSConnection, req, File "/home/sxp/miniconda3/envs/tinyengine/lib/python3.8/urllib/request.py", line 1357, in do_open raise URLError(err) urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)>

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "examples/vww.py", line 25, in tflite_path = download_tflite(net_id="mcunet-vww1") File "/home/sxp/tinyengine/mcunet/mcunet/model_zoo.py", line 91, in download_tflite return download_url(tflite_url) # the file path of the downloaded tflite model File "/home/sxp/tinyengine/mcunet/mcunet/utils/common_tools.py", line 108, in download_url os.remove(os.path.join(model_dir, 'download.lock')) FileNotFoundError: [Errno 2] No such file or directory: '/home/sxp/.torch/mcunet/mcunet-5fps_vww.tflite/download.lock'

image

keltonlee commented 9 months ago

Hello, I have the same problem now, did you solve this?