如何让tensorflow_datasets加载本地下载的数据集
tensorflow_datasets加載本地下載的數(shù)據(jù)集
最近,在學(xué)習(xí)transformer過程中調(diào)試ensorflow官方給的學(xué)習(xí)代碼中,需要利用tensorflow_datasets去下載葡萄牙語-英語的翻譯語料,代碼如下:
import tensorflow as tf import tensorflow_datasets as tfdsexamples, metadata = tfds.load('ted_hrlr_translate/pt_to_en', with_info=True, as_supervised=True) train_examples, val_examples = examples['train'], examples['validation']以上的代碼中,load會(huì)自動(dòng)去下載對應(yīng)的數(shù)據(jù)集,但是這個(gè)下載過程奇慢無比,所以我就想能不能先下載好之后再本地加載即可,所以我在網(wǎng)上查找了幾個(gè)方法,總結(jié)如下:
- 方法一:利用環(huán)境變量設(shè)置本地代理
- 方法二:參考一個(gè)博主寫的方法
針對方法一,設(shè)置代碼如下:
import os import ssl os.environ['http_proxy'] = 'http://127.0.0.1:1080' os.environ['https_proxy'] = 'https://127.0.0.1:1080' ssl._create_default_https_context = ssl._create_unverified_context這里需要你本地有梯子才行,然后ssl為關(guān)閉安全驗(yàn)證操作,由于我本地梯子端口為1080所以以上端口就設(shè)置為1080。通過以上設(shè)置梯子之后,速度確實(shí)明顯提升,但是極其不穩(wěn)定,下載一會(huì)兒就會(huì)報(bào)錯(cuò),然后會(huì)生成一個(gè)殘次的壓縮包,你再次運(yùn)行的時(shí)候就會(huì)報(bào)下載不全的錯(cuò)誤。
針對方法二:
參考鏈接:https://blog.csdn.net/weixin_43788143/article/details/107820641
以上鏈接倒是給了我啟示,不過使用上面老哥的方法也會(huì)有錯(cuò)誤,嘗試過無數(shù)次還是無法加載本地?cái)?shù)據(jù),其原因在于每次運(yùn)行一次代碼的時(shí)候感覺 tensorflow datasets都會(huì)給文件加上一個(gè)序列號(估計(jì)是用來識別每一次的下載)。所以我結(jié)合方法一和方法二自己搞了方法,結(jié)果實(shí)驗(yàn)成功了,具體如下:
按照參考鏈接中的方法找到對應(yīng)的tensorflow datasets中的文件路徑中產(chǎn)生的文件如圖所示:
以上文件即為執(zhí)行l(wèi)oad之后在對應(yīng)的目錄下生成的,downloads為下載目錄,ted_hrlr_translate為將下載目錄解析之后產(chǎn)生的文件夾。進(jìn)入downloads之后,如下圖:
在方法一種由于網(wǎng)絡(luò)不穩(wěn)定,會(huì)下載一個(gè)殘次的壓縮文件(大概只有30MB,全部最終的大小有124MB),再結(jié)合方法二中給的下載鏈接:https://github.com/neulab/word-embeddings-for-nmt,進(jìn)入頁面后下載鏈接如下:
下載之后得到的文件如下:
如果現(xiàn)在按照參考鏈接中老哥所說放到對應(yīng)的downloads文件夾這樣是無法加載的,還是會(huì)顯示找不到該文件,此處我卡了很久,突然想到是不是我命名為之前用梯子下載的殘次品的文件名一樣就行,效果如下:
然后試過之后還是不行,再觀察了一下extracted文件夾下的結(jié)構(gòu),如下:
再點(diǎn)開對應(yīng)文件夾中:
發(fā)現(xiàn)殘次品種是未能解壓完的文件夾,所以我將之前下載的文件解壓之后將里面的datasets文件夾復(fù)制到對應(yīng)的文件夾中:
最后,再執(zhí)行以上的代碼,效果如下:
OK!成功加載成功,后續(xù)就可以利用該翻譯數(shù)據(jù)運(yùn)行對應(yīng)的Tansformer代碼了。
總結(jié)
以上是生活随笔為你收集整理的如何让tensorflow_datasets加载本地下载的数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 漫游测试之性能测试(5.3-索引分析)
- 下一篇: 跨公司销售利润中心替代