本文整理汇总了Python中smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex.add_descriptor方法的典型用法代码示例。如果您正苦于以下问题:Python MemoryDescriptorIndex.add_descriptor方法的具体用法?Python MemoryDescriptorIndex.add_descriptor怎么用?Python MemoryDescriptorIndex.add_descriptor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex
的用法示例。
在下文中一共展示了MemoryDescriptorIndex.add_descriptor方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_added_descriptor_table_caching
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_added_descriptor_table_caching(self):
cache_elem = DataMemoryElement(readonly=False)
descrs = [random_descriptor() for _ in range(3)]
expected_table = dict((r.uuid(), r) for r in descrs)
i = MemoryDescriptorIndex(cache_elem)
self.assertTrue(cache_elem.is_empty())
# Should add descriptors to table, caching to writable element.
i.add_many_descriptors(descrs)
self.assertFalse(cache_elem.is_empty())
self.assertEqual(pickle.loads(i.cache_element.get_bytes()),
expected_table)
# Changing the internal table (remove, add) it should reflect in
# cache
new_d = random_descriptor()
expected_table[new_d.uuid()] = new_d
i.add_descriptor(new_d)
self.assertEqual(pickle.loads(i.cache_element.get_bytes()),
expected_table)
rm_d = list(expected_table.values())[0]
del expected_table[rm_d.uuid()]
i.remove_descriptor(rm_d.uuid())
self.assertEqual(pickle.loads(i.cache_element.get_bytes()),
expected_table)
示例2: test_add_descriptor
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_add_descriptor(self):
index = MemoryDescriptorIndex()
d1 = random_descriptor()
index.add_descriptor(d1)
ntools.assert_equal(index._table[d1.uuid()], d1)
d2 = random_descriptor()
index.add_descriptor(d2)
ntools.assert_equal(index._table[d2.uuid()], d2)
示例3: test_count
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_count(self):
index = MemoryDescriptorIndex()
ntools.assert_equal(index.count(), 0)
d1 = random_descriptor()
index.add_descriptor(d1)
ntools.assert_equal(index.count(), 1)
d2 = random_descriptor()
index.add_descriptor(d2)
ntools.assert_equal(index.count(), 2)
示例4: test_clustering_equal_descriptors
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_clustering_equal_descriptors(self):
# Test that clusters of descriptor of size n-features are correctly
# clustered together.
print("Creating dummy descriptors")
n_features = 8
n_descriptors = 20
index = MemoryDescriptorIndex()
c = 0
for i in range(n_features):
v = numpy.ndarray((8,))
v[...] = 0
v[i] = 1
for j in range(n_descriptors):
d = DescriptorMemoryElement('test', c)
d.set_vector(v)
index.add_descriptor(d)
c += 1
print("Creating test MBKM")
mbkm = MiniBatchKMeans(n_features, batch_size=12, verbose=True,
compute_labels=False, random_state=0)
# Initial fit with half of index
d_classes = mb_kmeans_build_apply(index, mbkm, n_descriptors)
# There should be 20 descriptors per class
for c in d_classes:
self.assertEqual(
len(d_classes[c]),
n_descriptors,
"Cluster %s did not have expected number of descriptors "
"(%d != %d)"
% (c, n_descriptors, len(d_classes[c]))
)
# Each descriptor in each cluster should be equal to the other
# descriptors in that cluster
uuids = list(d_classes[c])
v = index[uuids[0]].vector()
for uuid in uuids[1:]:
v2 = index[uuid].vector()
numpy.testing.assert_array_equal(v, v2,
"vector in cluster %d did not "
"match other vectors "
"(%s != %s)"
% (c, v, v2))
示例5: test_count
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_count(self):
index = MemoryDescriptorIndex()
self.assertEqual(index.count(), 0)
d1 = random_descriptor()
index.add_descriptor(d1)
self.assertEqual(index.count(), 1)
d2, d3, d4 = (random_descriptor(),
random_descriptor(),
random_descriptor())
index.add_many_descriptors([d2, d3, d4])
self.assertEqual(index.count(), 4)
d5 = random_descriptor()
index.add_descriptor(d5)
self.assertEqual(index.count(), 5)
示例6: test_table_caching
# 需要导入模块: from smqtk.representation.descriptor_index.memory import MemoryDescriptorIndex [as 别名]
# 或者: from smqtk.representation.descriptor_index.memory.MemoryDescriptorIndex import add_descriptor [as 别名]
def test_table_caching(self):
fd, tmp_cache = tempfile.mkstemp()
os.close(fd)
os.remove(tmp_cache)
try:
i = MemoryDescriptorIndex(tmp_cache)
descrs = [random_descriptor() for _ in xrange(3)]
expected_cache = dict((r.uuid(), r) for r in descrs)
# cache should not exist yet
ntools.assert_false(os.path.isfile(tmp_cache))
# Should write file and should be a dictionary of 3
# elements
i.add_many_descriptors(descrs)
ntools.assert_true(os.path.isfile(tmp_cache))
with open(tmp_cache) as f:
ntools.assert_equal(cPickle.load(f),
expected_cache)
# Changing the internal table (remove, add) it should reflect in
# cache
new_d = random_descriptor()
i.add_descriptor(new_d)
expected_cache[new_d.uuid()] = new_d
with open(tmp_cache) as f:
ntools.assert_equal(cPickle.load(f),
expected_cache)
rm_d = expected_cache.values()[0]
i.remove_descriptor(rm_d.uuid())
del expected_cache[rm_d.uuid()]
with open(tmp_cache) as f:
ntools.assert_equal(cPickle.load(f),
expected_cache)
finally:
os.remove(tmp_cache)