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!

全部评论
支持
点赞 回复 分享
发布于 07-14 17:12 辽宁
爱了
点赞 回复 分享
发布于 07-14 17:12 江苏
好帖
点赞 回复 分享
发布于 07-14 17:12 山东

相关推荐

点赞 评论 收藏
分享
✅ 一面部分【后端部分】(共 3 题)MyBatis 的常用 XML 标签有哪些?#{} 和 ${} 的区别是什么?Java 如何开启一个多线程?【前端部分】Vue.js 的生命周期函数及执行顺序?v-bind 和 v-model 有什么区别?Vue.js 的组件通信方式有哪些?优缺点?父子组件之间如何传值?Vue 的响应式原理是什么?Vue2 和 Vue3 的区别?Vue 中如何实现路由跳转?computed 和 watch 有什么区别?v-for 和 v-if 哪个优先级高?能否同时使用?mixins 和 extends 区别是什么?keep-alive 的作用是什么?【SQL】说明:只要求会简单的连表查询。面试官会给你一段有问题的建表 SQL(外键顺序问题),涉及表:teacher、subject、student 等。提示:先建 teacher 表,如果先建 student 会报外键找不到。【Java 简单算法】考察点:List 和 HashMap 的基本操作熟悉 Stream 的 filter / map会用 Comparator(比较器)会用 Collectors 的简单方法(如 toList()、groupingBy() 等)【算法题】难度较高。题目是 LeetCode 第 37 题《解数独》的魔改版本:不是规则的 3x3 宫格,而是一个“无规则数独”要你自己补充输入数据、写完整代码并截图运行结果✅ 二面部分【聊天】请做一个简单的自我介绍。简要介绍一下你的项目。项目中你遇到的最大难点是什么?你是如何解决的?✅ 八股文串讲部分什么是 Vue 路由白名单?怎么实现?MyBatis 常用的 XML 标签有哪些?作用是什么?#{} 和 ${} 的区别?分别适用于什么场景?Java 如何开启一个多线程?线程池怎么用?Vue 的生命周期函数有哪些?执行顺序?MyBatis 的 ResultType 和 ResultMap 有什么区别?事务如何回滚?在什么情况下会失败?Spring 中如何开启事务?MySQL 索引在哪些情况下会失效?内连接、左连接、右连接有什么区别?
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务