Nlp 将gensim wordVectors init_sim属性设置为True error-ValueError:输出数组为只读
下面是代码,我正在执行。错误发生在第三行(Nlp 将gensim wordVectors init_sim属性设置为True error-ValueError:输出数组为只读,nlp,gensim,word-embedding,Nlp,Gensim,Word Embedding,下面是代码,我正在执行。错误发生在第三行(vectors.init\u sims(True)) 这是错误堆栈- Traceback (most recent call last): File "generate_pair_histograms.py", line 82, in <module> vectors.init_sims(True) # normalize the vectors (!), so we can use the dot produ
vectors.init\u sims(True)
)
这是错误堆栈-
Traceback (most recent call last):
File "generate_pair_histograms.py", line 82, in <module>
vectors.init_sims(True) # normalize the vectors (!), so we can use the dot product as similarity measure
File "C:\users\janki\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 1354, in init_sims
self.vectors_norm = _l2_norm(self.vectors, replace=replace)
File "C:\users\janki\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 2374, in _l2_norm
m /= dist
ValueError: output array is read-only
回溯(最近一次呼叫最后一次):
文件“generate_pair_histograms.py”,第82行,在
向量。init_sims(True)#规范化向量(!),因此我们可以使用点积作为相似性度量
文件“C:\users\janki\Anaconda3\lib\site packages\gensim\models\keyedvectors.py”,第1354行,在init_sims中
self.vectors\u norm=\u l2\u norm(self.vectors,replace=replace)
文件“C:\users\janki\Anaconda3\lib\site packages\gensim\models\keyedvictors.py”,第2374行,格式为“l2”
m/=dist
ValueError:输出数组为只读
这是一个已知的问题吗?有人能提供解决方案或解决方法吗?通过使用可选的非默认
mmap='r'
参数加载KeyedVectors
时,您特别请求了一个由磁盘文件的只读('r'
)视图支持的实例,该视图不会更改该实例
然后,通过使用True
作为.init_sims(replace=True)
调用的可选非默认参数,您已经请求对单位赋范向量进行预计算,以替换原始值。无法覆盖只读视图中的值,因此会出现错误
根据您真正想做的事情(不清楚),至少执行以下操作之一:
- 完全省去
参数:您将获得一个常规的内存mmap
,您可以在内存中以任何方式修改它,然后可以选择稍后保存。(但是,当您已经获得原始非规范集时,您可能不想保存单元规范化版本–您可以始终对原始向量进行单元规范化,但不能采用其他方式。)KeyedVectors
- 省略
至True
:该步骤将创建具有单位规范值的第二个数组,而不尝试写入原始数组.init_sims()
- 更改
参数以允许读写-您可能不想这样做mmap
KeyedVectors
时使用可选的非默认mmap='r'
参数,您特别请求了一个实例,该实例由磁盘文件的只读('r'
)视图支持,该视图不会更改该磁盘文件
然后,通过使用True
作为.init_sims(replace=True)
调用的可选非默认参数,您已经请求对单位赋范向量进行预计算,以替换原始值。无法覆盖只读视图中的值,因此会出现错误
根据您真正想做的事情(不清楚),至少执行以下操作之一:
- 完全省去
参数:您将获得一个常规的内存mmap
,您可以在内存中以任何方式修改它,然后可以选择稍后保存。(但是,当您已经获得原始非规范集时,您可能不想保存单元规范化版本–您可以始终对原始向量进行单元规范化,但不能采用其他方式。)KeyedVectors
- 省略
至True
:该步骤将创建具有单位规范值的第二个数组,而不尝试写入原始数组.init_sims()
- 更改
参数以允许读写-您可能不想这样做mmap
Traceback (most recent call last):
File "generate_pair_histograms.py", line 82, in <module>
vectors.init_sims(True) # normalize the vectors (!), so we can use the dot product as similarity measure
File "C:\users\janki\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 1354, in init_sims
self.vectors_norm = _l2_norm(self.vectors, replace=replace)
File "C:\users\janki\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 2374, in _l2_norm
m /= dist
ValueError: output array is read-only