生成稀疏分布表示,一种快速生成模型
gsdr的Python项目详细描述
GSDR
生成稀疏分布表示,一种快速生成模型 用Python编写的(原C++实现) https://github.com/222464/GSDR)
依赖关系
- Python3
- python库
- 努比
安装
pip install gsdr或克隆并python setup.py install
用法
(更多的例子和ipython笔记本可以在 示例/)
带标签数据:
data,labels=...num_labels=10# Data: (batches, num_features)# Labels: (batches,) (contains numbers from 0 to num_labels-1, eg. 10 for MNIST)# Build the GSDR network (only one layer for now)gsdr=GSDRStack()gsdr.add(input_count=data.shape[1],hidden_count=256,sparsity=0.1,forced_latent_count=num_labels)forced_latents=np.eye(num_labels)# Train once for each data pointforiinrange(data.shape[0]):gsdr.train(data[i],forced_latents={0:forced_latents[labels[i]]})# Generate one example for each labelforiinrange(num_labels):generated=gsdr.generate(forced_latents={0:forced_latents[i]})
对于未标记的数据:
data=...# Data: (batches, num_features)# Build the GSDR network (only one layer for now)gsdr=GSDRStack()gsdr.add(input_count=data.shape[1],hidden_count=256,sparsity=0.1)# Train once for each data pointforiinrange(data.shape[0]):gsdr.train(data[i])states=np.eye(hidden_count)# Generate one example for each one-hot stateforiinrange(hidden_count):generated=gsdr.generate(states[i])