安装tensorboard
1 | pip install tensorboardX |
使用
引入并创建一个SummaryWriter
1 | from tensorboardX import SummaryWriter |
logdir参数要是不指定的话,会自动在生成run文件夹。另外还有一个comment参数,用于指定文件名称。
画loss曲线:
1 | writer.add_scalar('loss',loss, epoch) |
第一个参数为保存参数的名称,第二个参数为Y轴的值,第三个参数为X轴的值
运行该代码后,在log_dir下运行:
1 | tensorboard --logdir log_dir //log_dir 为具体的文件夹 |
具体为:
结果为:
画激活情况
用于检查深层网络里面的层激活和权值分布情况,避免梯度消失等。
1 | for name, param in net.named_parameters(): |
需要注意的是,如果tensor在gpu需要将其转换到cpu中。
结果为:
画网络结构图
首先先对某个model进行实例化,如net。然后定义一个输入:
1 | input = torch.rand(dim1,dim2,dim3,dim4) |
同样的,需要注意net要在cpu中。
效果如下:
显示图片
1 | writer.add_image('name',image_object) |
Projection
使用PCA,T-SNE等方法将高位向量投影到三维坐标系。默认使用PCA,也可以选择T-SNE
1 | writer.add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None) |
- mat (torch.Tensor or numpy.array) – A matrix which each row is the feature vector of the data point
- metadata (list) – A list of labels, each element will be convert to string
- label_img (torch.Tensor) – Images correspond to each data point
- global_step (int) – Global step value to record
- tag (string) – Name for the embedding
参考资料
https://tensorboardx.readthedocs.io/en/latest/tensorboard.html