Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nlp 将gensim wordVectors init_sim属性设置为True error-ValueError:输出数组为只读_Nlp_Gensim_Word Embedding - Fatal编程技术网

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