Tensorflow 1.15中TensorBoard错误
升级了tensorflow
到1.15,发现一个用tf.keras
中TensorBoard
的时候就会报错的问题.
论文《Lookahead Optimizer:
k steps forward, 1 step back》的tf.Keras
实现.
参考自苏剑林的repo
今天在看centernet
的heatmap
损失函数时,发现他的损失和熵差不多,但是我用tf
的实现会导致loss
为Nan
,因此我看了下Cross Entropy
的计算优化,这里记录一下.
昨天我尝试用双cuda
的方式来配置换,但是还是遇到了cuda
的错误,我不懂pytorch
又没办法解决。然后我浏览下issue
,看到有同样的问题,大概率是由于显卡是20系列的,老版本的cuda
不行,解决方式就是升级pytorch
版本用新的cuda
。所以我这里把配置环境重新做个记录,免得下次又来。。
有的时候我们的loss
函数是一个复合函数,但是在tf.keras
中,loss
函数只能返回一个标量,这个时候我们如果想要观察loss
中子部分的值就只能写个metric
去重新计算,但是这样是很浪费计算资源的,所以最好直接将loss
中的值提取至metric
。
为了学习CenterNet
,配置环境弄了半天。。由于我是主用tensorflow
的,pytorch
搞不来,只能按他的步骤来。他的环境比较老,是cuda 9.0 cudnn 7.1
的,然而我早就在用cuda 10.1 cudnn 7.5
了,所以我还得安装这个版本的cuda
。
下面我就说下安装多个版本的cuda
的注意点。
这几天时间自己把TensorFlow Probability
里面的几个例子过了一遍,希望以后可以做出一些深度学习与概率论结合的成果。
今天我试着用TensorFlow Probability
把条件VAE实现一下。这个条件VAE通过控制传统VAE
中的正态分布的均值来达到分类生成的效果,这样每个类别都有一个专属均值,可以通过这个专属均值来生成与此类相似的结果。
要搞个人脸识别的应用,花了半天时间浏览一下,准备基于open face
的模型来做移植。下面是对开源库face-recognition的使用指南进行一个翻译,看了一下基本知道了大致流程。不过我记得上次写过L softmx -> A
softmx -> AM
softmax的这些loss
都是用在人脸识别里面的,但是如果基于softmax loss
的话,每加一个人脸不都是要重新训练一波吗?不知道是不是这个情况,目前还没看到别的方式。