当前位置: 首页 > news >正文

常见代码八股

1. 利用梯度下降法,计算二次函数y=x^2+x+4的最小值

def target_function(x):return x ** 2 + x +4def gradient(x):return 2*x + 1x_init = 10
x = x_init
steps = 100
lr = 0.1
for i in range(100):x = x - lr*gradient(x)print(f"最小值 f(x) = {target_function(x):.4f}")

2. 实现交叉熵损失、Softmax以及Sigmoid
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#实现Softmax、Logsoftmax、Sigmoid以及交叉熵损失
import torch
import torch.nn.functional as Fdef softmax(x, dim=-1):exp_x = torch.exp(x)return exp_x/torch.sum(exp_x, dim=dim, keepdim=True)# 1.上溢出问题:当x趋向于无穷大时,会导致exp(x)超过数值范围
# 2.下溢出问题:当x趋向于负无穷大时,会导致exp(x)被截断变成0,加上log会出现log(0)的情况。所以要避免单独计算exp(x)
# 解决方案:1. 减掉最大值 2. 计算log时先拆开def log_softmax(x, dim=-1):x = x - torch.max(x,dim=-1,keepdim=True)[0]return x - torch.log(torch.sum(torch.exp(x),dim=-1,keepdim=True))# x = torch.rand((2,3))
# print(torch.allclose(F.softmax(x,dim=-1),softmax(x)))
# print(torch.allclose(log_softmax(x),torch.log(softmax(x))))
# print(torch.allclose(F.log_softmax(x,dim=-1),log_softmax(x)))def sigmoid(x):return 1/(1+torch.exp(-x))# print(torch.allclose(torch.sigmoid(x),sigmoid(x)))def cross_entropy_loss(y_pred, y_true):y_pred = log_softmax(y_pred,dim=-1)return -torch.sum(y_true*y_pred, dim=-1)# input = torch.rand((2,3))
# label_onehot = torch.tensor([[0,0,1],[0,1,0]])
# print(cross_entropy_loss(input,label_onehot))# # pytorch内置的cross_entropy_loss的输入是类别索引,不是one hot向量# label = torch.argmax(label_onehot,dim=-1)
# offi_cross_entropy_loss = torch.nn.CrossEntropyLoss(reduction="none")# print(torch.allclose(offi_cross_entropy_loss(input,label), cross_entropy_loss(input,label_onehot)))
# print(offi_cross_entropy_loss(input,label))
http://www.lryc.cn/news/600297.html

相关文章:

  • 0基础法考随手笔记 03(刑诉05 刑事证据与证明+06 强制措施)
  • Kafka MQ 消费者应用场景
  • 【web应用】基于Vue3和Spring Boot的课程管理前后端数据交互过程
  • DAY31 整数矩阵及其运算
  • 【C++】位运算符
  • 解锁反向海淘独立站:国内电商平台 API 接口全解析
  • LeetCode 1074:元素和为目标值的子矩阵数量
  • OGG同步Oracle到Kafka不停库,全量加增量
  • 【愚公系列】《MIoT.VC》003-构建基本仿真工作站(组件的属性、行为、视频展示)
  • Javaweb————什么是超文本传输协议?
  • HiggsAudio-V2: 融合语言与声音的下一代音频大模型
  • 详解力扣高频SQL50题之550. 游戏玩法分析 IV【中等】
  • 原理篇..
  • 2025年入局苹果Vision Pro开发:从零到发布的完整路线图
  • 路由选择工具——IP-Prefix
  • Triton Server部署Embedding模型
  • 谷粒商城170缓存序列化报错
  • 如何查看电脑后门IP和流量?
  • 图论:Dijkstra算法
  • CPU 为什么需要缓存?揭开速度与效率的底层逻辑
  • 大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
  • 机器学习——随机森林算法分类问题案例解析(sklearn)
  • Linux系统架构核心全景详解
  • HAProxy 实验指南:从零开始搭建高可用负载均衡系统
  • sssss
  • mybatis-plus从入门到入土(三):持久层接口之IService
  • 嵌入式硬件篇---有线串口通信问题解决
  • 如何创建或查看具有 repo 权限的 GitHub 个人访问令牌(PAT)
  • 国内AI IDE竞逐:腾讯CodeBuddy、阿里通义灵码、字节跳动TRAE、百度文心快码
  • 零弹窗干扰的贪吃蛇游戏,下载即玩