日常实习-小米计算机视觉算法岗面经

文章目录

流程

  • 自我介绍
  • 介绍项目
  • 介绍论文
  • 写代码

问题

请你写出项目中用到的模型代码,Resnet50

面试官:写出一个单元就好了。

实际面试过程中写出伪代码就好,
源代码:vision/torchvision/models/resnet.py

python 复制代码
class BasicBlock(nn.Module):
    expansion: int = 1

    def __init__(
        self,
        inplanes: int,
        planes: int,
        stride: int = 1,
        downsample: Optional[nn.Module] = None,
        groups: int = 1,
        base_width: int = 64,
        dilation: int = 1,
        norm_layer: Optional[Callable[..., nn.Module]] = None,
    ) -> None:
        super().__init__()
        if norm_layer is None:
            norm_layer = nn.BatchNorm2d
        if groups != 1 or base_width != 64:
            raise ValueError("BasicBlock only supports groups=1 and base_width=64")
        if dilation > 1:
            raise NotImplementedError("Dilation > 1 not supported in BasicBlock")
        # Both self.conv1 and self.downsample layers downsample the input when stride != 1
        self.conv1 = conv3x3(inplanes, planes, stride)
        self.bn1 = norm_layer(planes)
        self.relu = nn.ReLU(inplace=True)
        self.conv2 = conv3x3(planes, planes)
        self.bn2 = norm_layer(planes)
        self.downsample = downsample
        self.stride = stride

    def forward(self, x: Tensor) -> Tensor:
        identity = x

        out = self.conv1(x)
        out = self.bn1(out)
        out = self.relu(out)

        out = self.conv2(out)
        out = self.bn2(out)

        if self.downsample is not None:
            identity = self.downsample(x)

        out += identity
        out = self.relu(out)

        return out

里面的精华部分如下,我跳着写:

python 复制代码
def __init__():
	self.conv1 = conv3x3(inplanes, planes, stride)
	self.bn1 = norm_layer(planes)
	self.relu = nn.ReLU(inplace = True)
	self.conv2 = conv3x3(planes, planes)
	self.bn2 = norm_layer(planes)
	self.downsample = downsample
	self.stride = stride

def forward(self, x: Tensor) -> Tensor:
	identity = x
	
	out = self.conv1(x)
	out = self.bn1(out)
	out = self.relu(out)
	
	out = self.conv2(out)
	out = self.bn2(out)
	
	if self.downsample is not None:
		identity = self.downsample(x)
	
	out += identity
	out = self.relu(out)

	return out

在面试官的提示下我写了大概这样的伪代码:

python 复制代码
def forward(x):
	identity = x
	out = conv2d(x)
	out = batchnorm(out)
	out = relu(out)
	
	out = conv2d(x)
	out = batchnorm(out)
	
	out += identity
	out = relu(out)
	
	return out

面试结果还没出,不保证我这样写是正确的!

进一步了解Resnet50,来自B站的同济子豪兄【精读AI论文】ResNet深度残差网络

  • 有几种不好的现象:

(1)网络退化现象:把网络加深之后,效果反而变差了

用人话说明:一个孩子报名了课外辅导班,结果不仅作业写得更差了,考试也更差了;(学多了反而导致结果更糟糕)

(2)过拟合现象:训练集表现很棒,测试集很差

用人话说明:一个孩子作业做的很棒,一上考场就发挥失常;

把你做的工作里面的模型替换成ViT能行吗?

有了解过Stable difussion,transformer吗?

有一点点
【渣渣讲课】试图做一个正常讲解Latent / Stable Diffusion的成年人

总结

一面会重点针对简历上写的论文和项目,以及考察一些和岗位相关的前沿知识,坐在实验室是绝对绝对感受不到这些的!要勇敢踏出第一步;

相关推荐
神奇霸王龙9 分钟前
Gemini CLI 中转站配置使用教程
人工智能·ai·ai作画·aigc·ai编程·gemini·goolge
stereohomology28 分钟前
Kimi K3编程实力远超GLM5.2:一个Trae复赛证据
人工智能·大模型·对比·why不coding
阳光是sunny40 分钟前
LangGraph实战教程:状态管理与`graph.invoke`入参深度解析
前端·人工智能·后端
老猿AI洞察43 分钟前
7月25日热点:马斯克说中国AI有望成为全球领导者,这次不是客套话
大数据·人工智能
AI_小站1 小时前
Loop Engineering又是啥?一文讲清企业Agent落地的四层工程进化论
java·人工智能·架构·prompt·大模型开发·智能体·大模型应用
BEOL贝尔科技1 小时前
还在担心样本的安全吗?如何制定有效的温湿度异常应急预案?
人工智能·安全
ysa0510301 小时前
【板子】二分答案(最大最小?)
c++·笔记·算法·板子
科技之门1 小时前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
火山引擎开发者社区1 小时前
LLM Space 开源!任意组装 loop、tools、skills,顺手无痛“蒸馏” Kimi-K3
人工智能