問題描述
最近在使用hugging face跑基于controlnet的微調(diào)stable diffusion實驗,需要跑通example/controlnet/train_controlnet,py的官方案例,在程序的第590行有如下代碼:
dataset = load_dataset(
args.dataset_name,
args.dataset_config_name,
cache_dir=args.cache_dir,
)
這實際上是需要從huggingface的dataset中下載fill50k數(shù)據(jù)集,即轉(zhuǎn)化為如下代碼:
from datasets import load_dataset
dataset = load_dataset("fusing/fill50k")
等待一會,報錯:
ConnectionError: Couldn't reach "fusing/fill50k" on the Hub (ConnectionError)
很明顯這是網(wǎng)絡(luò)連接問題,無法訪問外網(wǎng)。于是科學(xué)上網(wǎng)打開,重新運行,又報錯:
ConnectionError: Couldn't reach "fusing/fill50k" on the Hub (SSLError)
這種錯誤查了一圈,都沒有很好的解決辦法:包括:
1、手動在瀏覽器下載保存至本地(在本地又不知道如何用load_dataset函數(shù)加載本地數(shù)據(jù),試了好幾次都失敗了)
2、在pycharm配置代理,如這篇文章,并沒有解決,還是報上面的錯誤。
解決歷程
我開始重新審視這個問題,即報錯中的“SSLError”。經(jīng)chatgpt搜尋一番:
我以為是huggingface_hub需要認(rèn)證你的身份信息,于是我在huggingface官網(wǎng)設(shè)置了access token(這里有個參考),并在命令行上輸入:(需要安裝huggingface_hub)
huggingface-cli login
出現(xiàn)如下界面,粘貼進去你的access token即可,很可惜,還是登陸不上,報錯:(后來想想你要是能身份認(rèn)證講道理應(yīng)該也能下載,下個數(shù)據(jù)而已)
非常重要?。?!重點來了?。?!
報錯信息中有個很關(guān)鍵的點:
urllib3
以及:
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1129)
看起來似乎是開了科學(xué)上網(wǎng)之后,python里面urllib3中request請求中的代理并沒有配置好?。?!經(jīng)過一番搜尋查找,在這篇文章里找到了解決辦法!感謝大佬?。。?br> 具體的,打開:
D:\software\anaconda\envs\python39_pytorch1.10\Lib\urllib\request.py
請對應(yīng)找到自己的文件路徑!打開這個request.py文件,定位到下圖的位置:
改成圖中的樣子即可!(即注釋掉那三行換成下面的三行)
重新運行,成功了?。。。。。?!
文章的評論區(qū)還給到了另一種即插即用方法大家也可以去嘗試!??!這里是一勞永逸的方法。更多原理也請參考他?。?!解決完上述問題之后,使用此方法后從huggingface上下載東西都不會有問題了?。?!非常方便!??!
再次鳴謝
【日常踩坑】從 SSLEOFError 到正確配置 Proxy文章來源:http://www.zghlxwxcb.cn/news/detail-755745.html
感言
身為計算機科學(xué)與技術(shù)的學(xué)生連這個問題都無法解決實在是太難過了,知識一定要學(xué)精??!希望自己以后繼續(xù)努力!努力專研!文章來源地址http://www.zghlxwxcb.cn/news/detail-755745.html
到了這里,關(guān)于huggingface(_hub)下載load報錯ConnectionError: Couldn‘t reach ‘fusing/fill50k‘ on the Hub (SSLError)解決指南!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!