CV&感知算法面试常见手撕代码题目汇总(五)【附参考实现代码】
在如今互联网大厂面试环节中,现场手撕代码已经成为了每位面试者必须要经历的一关。目前85%以上的互联网公司都将面试者的现场编程能力作为能否拿到Offer的核心评价指标。如果可以在规定时间内流畅、顺利完成面试官给出题目的候选人,拿到高质量面评的概率要比其他人高出很多。
本文作为《一站式智驾感知算法求职宝典》专栏中CV&感知算法面试常见手撕代码题目汇总系列的第五篇文章,本篇内容包含:单类别的交叉熵损失函数实现、多类别的交叉熵损失函数实现、计算任意两个凸多边形的IoU实现三道算法手撕代码题目,并给出了参考实现代码。
CV&感知算法面试常见手撕代码题目汇总系列将会持续为大家收录和整理互联网大厂面试中的高频手撕算法题目,并且给出参考实现代码,便于同学们实习和求职前复习,从而在面试手撕代码环节更加游刃有余!
《一站式智驾感知算法求职宝典》专栏包含诸多高质量求职内容系列,包含
- 如何制作一份高质量个人简历保姆级教程
- 如何包装论文成果&科研项目&实习工作话术
- 十五家自动驾驶感知算法面经(附参考答案)
- 互联网大厂在线笔试ACM模式常见输入输出类型题目汇总(附Python和C++两种语言参考答案)
- CV&感知算法面试常见手撕代码题目汇总
无论你是即将开始秋招的应届毕业生,还是打算找实习的算法小白,《一站式智驾感知算法求职宝典》都将是你求职路上的得力助手!
一、单类别的交叉熵损失函数实现
import torch import torch.nn as nn import torch.nn.functional as F class CustomCrossEntropy(nn.Module): def __init__(self, reduction="mean"): super(CustomCrossEntropy, self).__init__() self.reduction = reduction def forward(self, pred_logit, gt_label): pred_scores = torch.sigmoid(pred_logit) if self.reduction is "sum": loss = -(gt_label * torch.log(pred_scores) + (1 - gt_label) * torch.log(1 - pred_scores)).sum() elif self.reduction is "mean": loss = -(gt_label * torch.log(pred_scores) + (1 - gt_label) * torch.log(1 - pred_scores)).mean() return loss if __name__ == "__main__": torch.manual_seed(0) pred_logit = torch.rand(2, 1) gt_label =
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
作为24届上岸自动驾驶感知算法的学长,将自己在秋招中的面试经验和心得体会总结成《一站式智驾感知算法求职宝典》,宝典包含【求职简历如何准备】、【论文/实习/科研项目经历如何包装】、【Leetcode算法刷题思路】、【十五家智驾感知算法面经汇总(附参考答案)】、【CV&感知算法面试常见代码题目汇总(附参考代码)】、【互联网大厂笔试ACM模式输入输出类型题目汇总】等多个板块,祝你拿下心仪Offer!