There are totally four methods to solve this error
Solution:
Method 1: the SSL certificate problem
you can open the URL with the following code
import ssl
# This restores the same behavior as before.
context = ssl._create_unverified_context()
response = urllib.request.urlopen("https://no-valid-cert", context=context)
https://no-valid-cert
you can change it to the website you want
Method 2: Change https to http, because some versions of python verify the SSL certificate once when you urllib.urlopen an https.
Method 3: Add the following codes:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
I just add it to the py file when calling commands from the urllib library that comes with python 3.8.0
model = ALBEF(config=config, text_encoder=args.text_encoder, tokenizer=tokenizer, init_deit=True)
That is, when the model is initialized (init_deit), the error occurs when calling return self.sslsocket_class._create
in lib/python3.8/http/client.py under python 3.8, but at the beginning of the py file for initializing the model Add these two lines and you’ll be fine
Method 4:
Upgrade your python interpreter version, e.g. 2.7 or 3.7 to 3.8 or even 3.9