今天踩了两个坑,记录一下让自己记住。
🕳UNet中的loss选择
众所周知,UNet二分类常用的loss是BCELoss。
BCELoss是二分类交叉熵损失,计算结果为一个当前像素属于当前点的概率。
在计算前,需要使用一个Sigmod函数把输入归一化到0~1之间。
非常方便的BCEwithLogitLoss则完成了以上两个步骤,直接计算出了一个结果。
所以在使用BCEwithLogitLoss时,不需要取Sigmod。
同时,在可视化结果时,需要对结果进行Sigmod来使得结果为黑白。
🕳visdom 服务器代理运行
众所周知,visdom在本机运行的时候,只需要
1 | python -m visdom.server |
然后打开localhost:8097即可。
如果要在服务器上运行visdom,然后在本机windows上监视要怎么做呢?
首先将服务器的端口转接到当前电脑的端口上登录:
1 | ssh -L 18097:127.0.0.1:8097 username@remote_server_ip |
然后启动visdom服务,运行我们的py文件。
如果你的机器配置过奇怪的代理,可能会遇到像我一样的问题:
1 | http.client.RemoteDisconnected: Remote end closed connection without response |
这个时候只需要在运行前加上no_proxy==localhost python xxxx.py 即可