微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何编写栅格图?

如何解决如何编写栅格图?

我在google colab上使用pytorch。 我在下面有一个张量矩阵,这是示例,实际上矩阵的大小约为50个神经元和30,000〜50,000次。

a= torch.tensor([[0.,0.,0.],[0.,1.],1.,0.]])

每个值都是

a= torch.tensor([[Neuron1(t=1),N2(t=1),N3(t=1),N4(t=1),N5(t=1)],[N1(t=2),N2(t=2),N3(t=2),N4(t=2),N5(t=2)],[N1(t=3),N2(t=3),N3(t=3),N4(t=3),N5(t=3)]])

和1表示神经元点火,0表示不点火。
因此Neuron5(t=2)Neuron2(t=3)Neuron4(t=3)正在触发。
然后,我要使用此矩阵制作如下的栅格图或散点图,
点表示发射神经元。

神经元编号
1 |
2 | *
3 |
4 | *
5 | __ * _____时间
1 2 3

执行此操作的最佳python代码是什么? 我现在不知道 谢谢您的阅读。

解决方法

您可以轻松地按以下步骤进行操作:

import matplotlib.pyplot as plt
a= torch.tensor([[0.,0.,0.],[0.,1.],1.,0.]],device='cuda')
plt.scatter(*torch.where(a.cpu()))
,

高分辨率版本,源自吉尔先生的代码。

a= ~~~a huge torch.tensor (50 neurons and 30,000 time)~~~

fig = plt.figure(facecolor="w",figsize=(300,5))
ax = fig.add_subplot(111)
ax.scatter(*torch.where(a.cpu()),s=0.05[![enter image description here][1]][1],c="black",linewidths="0")
plt.savefig("rascatter.png",format="png",dpi=120)
,

这里有两个答案。非常感谢大家。

一个是吉尔·平斯基先生,另一个是tgrandje先生。 吉尔先生的代码在上面。谢谢。

这是我根据特格兰德先生的建议编写的代码。

a=input_list
b = a.to('cpu').detach().numpy().copy()
c=b.T
raster = plt.imshow(c,cmap="Greys",aspect=1)
# plt.show
plt.savefig("raster.png",dpi=900)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。