内存

class torchhd.structures.Memory(threshold=0.5)[来源]

超向量键和任何值的关联记忆。

创建一个内存对象。

Parameters:

threshold (float, optional) – 输入与内存中任何超向量之间的最小相似度。默认值:0.0

示例:

>>> memory = structures.Memory()
__delitem__(key: VSATensor) None[来源]

从近似键中删除(键,值)对。

Parameters:

key (VSATensor) – 用于项目查找的超向量键。

示例:

>>> del memory[letters_hv[0]]
>>> memory[letters_hv[0]]
Exception: No elements in memory
__getitem__(key: VSATensor) Tuple[VSATensor, Any][来源]

从近似键中获取(键,值)对。

Parameters:

key (VSATensor) – 用于项目查找的超向量键。

示例:

>>> memory[letters_hv[0]]
(tensor([-1.,  1.,  1.,  ...,  1.,  1., -1.]), 'a')
__len__() int[来源]

返回内存中的项目数量。

示例:

>>> len(memory)
0
__setitem__(key: VSATensor, value: Any) None[来源]

从近似键设置一个(键,值)对的值。

Parameters:

key (VSATensor) – 用于项目查找的超向量键。

示例:

>>> memory[letters_hv[0]] = letters[1]
>>> memory[letters_hv[0]]
(tensor([-1.,  1.,  1.,  ...,  1.,  1., -1.]), 'b')
add(key: VSATensor, value: Any) None[来源]

向内存中添加一个(键,值)对。

Parameters:
  • key (VSATensor) – 用作添加键值对的键的超向量。

  • value (Any) – 要添加到内存中的值。

示例:

>>> letters = list(string.ascii_lowercase)
>>> letters_hv = torchhd.random(len(letters), 10000)
>>> memory.add(letters_hv[0], letters[0])
index(key: VSATensor) int[来源]

从近似键返回张量在内存中的索引。

Parameters:

key (VSATensor) – 用于索引查找位置的超向量键。

示例:

>>> memory.index(letters_hv[0])
>>> 0