安装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