gpt4 book ai didi

python - 如何在 Google colaboratory 上使用 GloVe 词嵌入文件

转载 作者:行者123 更新时间:2023-11-28 19:46:52 24 4
gpt4 key购买 nike

我已经用wget下载了数据

!wget http://nlp.stanford.edu/data/glove.6B.zip
- ‘glove.6B.zip’ saved [862182613/862182613]

它保存为 zip,我想使用 zip 文件中的 glove.6B.300d.txt 文件。我想要实现的是:

embeddings_index = {}
with io.open('glove.6B.300d.txt', encoding='utf8') as f:
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:],dtype='float32')
embeddings_index[word] = coefs

当然我有这个错误:

IOErrorTraceback (most recent call last)
<ipython-input-47-d07cafc85c1c> in <module>()
1 embeddings_index = {}
----> 2 with io.open('glove.6B.300d.txt', encoding='utf8') as f:
3 for line in f:
4 values = line.split()
5 word = values[0]

IOError: [Errno 2] No such file or directory: 'glove.6B.300d.txt'

我如何在 Google colab 的上述代码中解压缩并使用该文件?

最佳答案

另一种方法如下。

1。下载 zip 文件

!wget http://nlp.stanford.edu/data/glove.6B.zip

下载 zip 文件后,它保存在 google Collab 的/content 目录中。

2。解压

!unzip glove*.zip

3。使用

获取嵌入向量提取位置的确切路径
!ls
!pwd

4。索引向量

print('Indexing word vectors.')

embeddings_index = {}
f = open('glove.6B.100d.txt', encoding='utf-8')
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:], dtype='float32')
embeddings_index[word] = coefs
f.close()

print('Found %s word vectors.' % len(embeddings_index))

5.与 google - drive 融合

!pip install --upgrade pip
!pip install -U -q pydrive
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null

!apt-get -y install -qq google-drive-ocamlfuse fuse

from google.colab import auth
auth.authenticate_user()
# Generate creds for the Drive FUSE library.
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

!mkdir -p drive
!google-drive-ocamlfuse drive

6。将索引向量保存到谷歌驱动器以供重复使用

import pickle
pickle.dump({'embeddings_index' : embeddings_index } , open('drive/path/to/your/file/location', 'wb'))

如果您已经在本地系统中下载了 zip 文件,只需将其解压缩并将所需的维度文件上传到 google drive -> fuse gdrive -> 提供适当的路径,然后使用它/为其建立索引等.

另外,另一种方法是,如果已经通过协作中的代码下载到本地系统

from google.colab import files
files.upload()

选择文件并按照第 3 步开始使用它。

这是在 google collaboratory 中使用手套词嵌入的方法。希望对您有所帮助。

关于python - 如何在 Google colaboratory 上使用 GloVe 词嵌入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50060241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com