tensorflow_datasets加载本地下载的数据集

最近,在学习transformer过程中调试ensorflow官方给的学习代码中,需要利用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会自动去下载对应的数据集,但是这个下载过程奇慢无比,所以我就想能不能先下载好之后再本地加载即可,所以我在网上查找了几个方法,总结如下:

  • 方法一:利用环境变量设置本地代理
  • 方法二:参考一个博主写的方法

针对方法一,设置代码如下:

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为关闭安全验证操作,由于我本地梯子端口为1080所以以上端口就设置为1080。通过以上设置梯子之后,速度确实明显提升,但是极其不稳定,下载一会儿就会报错,然后会生成一个残次的压缩包,你再次运行的时候就会报下载不全的错误。

针对方法二:
参考链接:https://blog.csdn.net/weixin_43788143/article/details/107820641

以上链接倒是给了我启示,不过使用上面老哥的方法也会有错误,尝试过无数次还是无法加载本地数据,其原因在于每次运行一次代码的时候感觉 tensorflow datasets都会给文件加上一个序列号(估计是用来识别每一次的下载)。所以我结合方法一和方法二自己搞了方法,结果实验成功了,具体如下:

按照参考链接中的方法找到对应的tensorflow datasets中的文件路径中产生的文件如图所示:


以上文件即为执行load之后在对应的目录下生成的,downloads为下载目录,ted_hrlr_translate为将下载目录解析之后产生的文件夹。进入downloads之后,如下图:

在方法一种由于网络不稳定,会下载一个残次的压缩文件(大概只有30MB,全部最终的大小有124MB),再结合方法二中给的下载链接:https://github.com/neulab/word-embeddings-for-nmt,进入页面后下载链接如下:

下载之后得到的文件如下:

如果现在按照参考链接中老哥所说放到对应的downloads文件夹这样是无法加载的,还是会显示找不到该文件,此处我卡了很久,突然想到是不是我命名为之前用梯子下载的残次品的文件名一样就行,效果如下:

然后试过之后还是不行,再观察了一下extracted文件夹下的结构,如下:

再点开对应文件夹中:


发现残次品种是未能解压完的文件夹,所以我将之前下载的文件解压之后将里面的datasets文件夹复制到对应的文件夹中:

最后,再执行以上的代码,效果如下:

OK!成功加载成功,后续就可以利用该翻译数据运行对应的Tansformer代码了。

如何让tensorflow_datasets加载本地下载的数据集相关推荐

  1. 【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )

    文章目录 一.加载网络图片 二.加载静态图片 三.加载本地图片 四.完整代码示例 五.相关资源 一.加载网络图片 参考 [Flutter]Image 组件 ( Image 组件简介 | Image 构 ...

  2. Jquery中使用JsonP加载本地json文件解决跨域问题

    场景 jquery中直接请求本地json文件时会提示跨域问题. Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获 ...

  3. Android中使用WebChromeClient显示Openlayers加载本地GeoJson文件显示地图(跨域问题解决)

    场景 Openlayers中加载GeoJson文件显示地图: Openlayers中加载GeoJson文件显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面加载显示GeoJso ...

  4. Android中使用WebView加载本地html并支持运行JS代码和支持缩放

    场景 Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/art ...

  5. Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递

    1.在布局文件中加WebView控件,在java中获取WebView对象. 2.加载本地html文件. webView.loadUrl("file:///android_asset/andr ...

  6. web加载本地html,WKWebview加载本地html问题汇总

    最近做的功能,有部分逻辑是h5实现的,我们采用了本地+网络的机制来提高h5的显示速度,首先说一下机制, 1.本地存在一份html文件+校验码 2.程序启动获取远程校验码 3.远程校验码与本地校验码,比 ...

  7. cesium 3dtiles 加载本地数据_深入echarts学习:加载跨域、异步、本地json数据的防坑录

    1 说明: ===== 1.1 推荐指数:★★★★ 1.2 网上这方面说明,大多模棱两可,坑很多,讲透彻的不多,故本人做一个小结. 1.3 我曾介绍echarts的简单基本用法: <Echart ...

  8. 第18.1节 OE3.1实例-加载本地瓦片数据

    致谢 感谢网友提出这个问题.大家有问题也可以在评论区提出,有问必有答.如果涉及商业需求,需要较完整/详尽的工程,可以联系作者133-2459-8743. 问题描述 网友提出要做一个基于osgearth ...

  9. 离线GoogleMapAPIV3加载本地谷歌地图并添加标注

    利用离线GoogleMapAPIV3加载本地谷歌地图并添加标注 一.准备工作 下载GoogleMapAPIV3.rar. 二.下载地图 首先通过水经注下载器把谷歌卫星地图下载下来. 三.地图引擎部署 ...

最新文章

  1. Windows平台下安装Hadoop
  2. 别等了,全面「远程办公」凉了
  3. addr2line 和 tombstone问题分析
  4. C语言 goto 语句 - C语言零基础入门教程
  5. DataList分页,保存CheckBox控件状态
  6. 使用Python 正则匹配两个特定字符之间的字符方法
  7. Android学习笔记---23_网络通信之网络图片查看器
  8. java数字后面加f_java 数字后面 f 和 l
  9. cass有坐标文件生成里程文件_请问在CASS7.0中怎样生成坐标文件和里程文件,请尽量详细...
  10. linux病毒扫描工具,linux病毒扫描工具ClamAV使用
  11. 少时诵诗书少时诵诗书sss
  12. Controlling the Amount of Verbatim Copying in Abstractive Summarization
  13. 安装包百度云网盘链接
  14. 网页被劫持会带来的影响是什么?
  15. 单线程-多线程-高并发
  16. 华为在深度学习平台上的优化实践
  17. Javalin:一个轻量的 Web Framework
  18. python爬虫(四)数据存储
  19. html5自动播放mov格式视频
  20. 迪文串口屏 T5UID2 学习笔记(1) - 18年4月17日

热门文章

  1. org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
  2. Log4j 重写 RollingFileAppender 实现按日期生成文件夹文件名
  3. 25家往昔明星网站“血泪史” 教你如何过冬
  4. python爬取网站的某一句话_Python实现JS解密并爬取某音漫客网站
  5. Android ley hash的生成
  6. Newman运行集合排错
  7. 栅极电阻硬并联与独立栅极电阻
  8. 4.28dp专练总结
  9. 职场中14个坏习惯可能让你丢掉工作
  10. 如何在lion系统下安装Xcode 3.2.x版本