如何在Google Colab中正确解压.gz格式的FastText词嵌入文件?
Google Colab环境解压.gz格式文件的解决方案
你触发的报错是因为unzip命令仅适配zip格式压缩包,.gz是gzip压缩格式的文件,需要使用对应工具完成解压,以下是两种常用的实现方案:
方案1:使用shell命令直接解压
Colab环境预装了gzip工具,直接调用gunzip命令即可完成解压:
- 常规解压(解压完成后原.gz文件会被删除):
!gunzip '/content/drive/My Drive/New_ABCDM_Architec/cc.en.300.vec.gz' !gunzip '/content/drive/My Drive/New_ABCDM_Architec/cc.fr.300.vec.gz' !gunzip '/content/drive/My Drive/New_ABCDM_Architec/cc.ar.300.vec.gz'
- 保留原压缩包解压:添加
-k参数即可保留原始.gz文件不被删除
!gunzip -k '/content/drive/My Drive/New_ABCDM_Architec/cc.en.300.vec.gz'
方案2:使用Python gzip库直接读取
如果不需要落地存储解压后的词向量文件,想节省存储空间,可以直接用Python内置的gzip库读取文件内容:
import gzip # 以文本模式打开.gz格式的FastText词向量文件 with gzip.open('/content/drive/My Drive/New_ABCDM_Architec/cc.en.300.vec.gz', 'rt', encoding='utf-8') as f: # 读取首行获取词表总量和向量维度 vocab_size, vector_dim = map(int, f.readline().split()) # 逐行读取词和对应向量做业务处理 for line in f: line_parts = line.strip().split() word = line_parts[0] vector = list(map(float, line_parts[1:])) # 此处补充你的后续处理逻辑
注意事项
- 如果你拿到的是
.tar.gz后缀的归档压缩包,需要使用!tar -zxvf 压缩包路径命令完成解压 - 大体积FastText词向量解压耗时较长,建议优先将压缩包存储在已挂载的Google Drive中,避免Colab运行时重置后文件丢失
内容的提问来源于stack exchange,提问作者Siasma
相关产品推荐
相关产品推荐

