Pytorch one-hot编码
1. 引言
在我们做分割任务时,通常会给一个mask,但训练时要进行onehot编码。
2. code
import torch if __name__ == '__main__': label = torch.zeros(size=(1, 4, 4), dtype=torch.int) label[:, 2:4] = 1 print(label.shape) print(label) label_one_hot = torch.zeros([2, 4, 4]) label_one_hot.scatter_(0, label.long(), 1) print(label_one_hot) label_one_hot = torch.softmax(label_one_hot, 0) print(label_one_hot) label_one_hot = torch.max(label_one_hot, 0)[1] print(label_one_hot)
运行结果
torch.Size([1, 4, 4]) tensor([[[0, 0, 0, 0], [0, 0, 0, 0], [1, 1, 1, 1], [1, 1, 1, 1]]], dtype=torch.int32) tensor([[[1., 1., 1., 1.], [1., 1., 1., 1.], [0., 0., 0., 0.], [0., 0., 0., 0.]], [[0., 0., 0., 0.], [0., 0., 0., 0.], [1., 1., 1., 1.], [1., 1., 1., 1.]]]) tensor([[[0.7311, 0.7311, 0.7311, 0.7311], [0.7311, 0.7311, 0.7311, 0.7311], [0.2689, 0.2689, 0.2689, 0.2689], [0.2689, 0.2689, 0.2689, 0.2689]], [[0.2689, 0.2689, 0.2689, 0.2689], [0.2689, 0.2689, 0.2689, 0.2689], [0.7311, 0.7311, 0.7311, 0.7311], [0.7311, 0.7311, 0.7311, 0.7311]]]) tensor([[0, 0, 0, 0], [0, 0, 0, 0], [1, 1, 1, 1], [1, 1, 1, 1]])
3. 结语
努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!
如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。
但行好事 莫问前程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)