1一小时
再20分钟简历
然后问了其他自己做的实习论文
怎么做的 细细讲
梯度爆炸(Gradient Explosion)是指在训练深度神经网络时,梯度值在反向传播过程中变得非常大,导致模型参数更新过大,进而导致模型不稳定或无法收敛。以下是常用的三个解决梯度爆炸问题的方案:
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
在上面的代码中,max_norm 参数设置了梯度的最大范数,当梯度的范数超过这个值时,会被裁剪到这个值。
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, weight_decay=1e-4)
在上面的代码中,weight_decay 参数即为 L2 正则化项的系数。
import torch.nn.functional as F
def forward(self, x):
x = F.relu(self.fc1(x))
return x
import torch.nn.functional as F
def forward(self, x):
x = F.leaky_relu(self.fc1(x), negative_slope=0.01)
return x
以上三种方法分别从梯度约束、模型正则化和激活函数选择三个不同角度来缓解梯度爆炸的问题,在实际应用中可以根据具体情况选择合适的方法或组合使用多种方法。







Adam及其变种:结合动量和自适应学习率,快速稳定收敛,适用于大多数深度学习任务。
AdamW 是 Adam 优化器的改进版本,旨在解决 Adam 优化器在某些情况下会导致权重衰减(weight decay)效果不佳的问题。AdamW 是由 Ilya Loshchilov 和 Frank Hutter 提出的,并在他们的论文《Decoupled Weight Decay Regularization》中详细介绍。


AdamW 是一种改进的 Adam 优化器,通过将权重衰减与梯度更新分离,提供了更好的正则化效果和更快的收敛速度。它在许多深度学习任务中表现优异,是现代深度学习中常用的优化器之一。

Q1: Compression
e.g, input: aabbbdeffffww
output aa3bde4fww
连续大于等于三个相同的character用“数量+ character”表示,otherwise照常输出
s = input()
result = ""
i = 0
while i < len(s) - 2:
c = s[i]
if c == s[i + 1] == s[i + 2]:
count = 3
while i + count < len(s) and s[i + count] == c:
count += 1
result += str(count)
result += c
i += count
else:
result += c
i += 1
if s[-1] != s[-3]:
result += s[-2]
result += s[-1]
print(result)
时间复杂度:O(n)
空间复杂度:O(1)


♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠