- 博客(384)
- 资源 (1)
- 收藏
- 关注
原创 深度学习的代码
本文展示了两种机器学习分类任务的实现方法。第一部分使用Scikit-learn完成鸢尾花分类任务:加载数据集,拆分训练/测试集并进行标准化,采用逻辑回归训练模型,最终评估预测准确率。第二部分基于PyTorch框架实现CIFAR10图像分类:定义数据预处理流程,构建包含卷积层、池化层和全连接层的CNN模型,实现训练/测试循环,并评估模型性能。两个案例都涵盖了数据准备、模型训练、评估等完整流程,分别展示了传统机器学习方法和深度学习方法在分类问题上的应用。
2025-11-17 11:14:51
351
原创 SwiftData完全入门指南:从核心组件到数据查询全解析
本文介绍了苹果在iOS 17+/macOS Sonoma+推出的SwiftData框架,它通过简化的Swift语法实现了数据持久化。文章以"图书馆管理系统"为类比,详细解析了SwiftData三大核心组件:ModelContainer(数据中枢)、ModelSchema(数据结构说明书)和ModelContext(数据操作界面)。重点讲解了ModelContainer的创建方式、ModelSchema的自动生成机制,以及通过ModelContext实现增删改查等数据操作。最后,文章给出了
2025-10-23 13:42:11
1062
原创 SwiftData实战:详解RemoteImage与Category模型的持久化与关系配置
SwiftData模型关系解析 本文深入探讨SwiftData框架中RemoteImage和Category模型间的双向关联关系,重点分析多对一关系的实现机制和维护逻辑。 核心关系架构 RemoteImage:存储远程图片信息 包含@Relationship属性指向Category 配置inverse参数实现双向同步 Category:管理图片分类 包含images数组维护关联图片 通过@Model自动实现关系维护 关系维护机制 自动同步:当设置image.category = someCategory时,
2025-10-22 19:34:09
784
原创 SwiftUI 中的 Binding 详解:从原理到实战,掌握双向绑定的核心
SwiftUI 中的 Binding 是实现数据与视图双向绑定的关键工具,它作为"数据通道"连接数据源与视图,确保两者同步更新。文章解析了 Binding 的工作原理,对比了直接使用 Binding 与 @Binding 语法糖的区别,并演示了三种实战场景:父子视图简单数据共享、复杂数据模型跨视图共享,以及与系统控件的交互。通过 @State 和 @Published 等属性包装器,开发者无需手动编写 get/set 逻辑即可实现高效的数据绑定。
2025-10-20 13:17:29
728
原创 Swift中.gesture的用法
SwiftUI 中的 .gesture 修饰符为核心交互工具,支持为视图添加点击、长按、拖动、缩放和旋转等手势。该修饰符通过手势实例配合 onChanged 和 onEnded 回调实现交互逻辑。文章详细介绍了五种常用手势类型的基本用法,并展示了如何通过 SimultaneousGesture 组合多个手势实现复杂交互。此外,还解释了手势优先级机制及 .highPriorityGesture 的用法。这些功能使开发者能够便捷地构建丰富的用户交互体验。
2025-10-17 20:47:17
391
原创 SwiftUI 布局之美:Padding 让界面呼吸感拉满
SwiftUI 中的 padding 修饰符是打造精致 UI 的核心工具,通过为视图添加内边距来创造"呼吸感"。基础用法包括默认内边距和自定义统一内边距。进阶用法支持按方向组(水平/垂直)或单侧(上/下/左/右)精准控制边距。结合布局容器可批量优化元素间距,嵌套使用还能实现分层空白效果。实战中可用来扩展按钮点击区域、调整文本边框距离、优化列表项间距等。作为布局的"呼吸调节器",padding 配合其他修饰符能轻松实现规范美观的界面设计。
2025-10-17 16:11:54
354
原创 SwiftUI中视图溢出与cornerRadius裁剪的原理及实践
摘要:本文探讨SwiftUI中图片视图超出容器边界的常见问题,分析.aspectRatio(.fill)导致图片视觉尺寸超出布局框架的原理。当VStack设置cornerRadius时会裁剪子视图溢出内容,但原始图片仍可能突破容器边界。通过示例代码对比不同布局方式的效果,帮助开发者理解视图层级间的交互关系。
2025-10-17 13:21:41
256
原创 SwiftUI 的状态管理包装器(Property Wrapper)
摘要:@State 是 SwiftUI 的属性包装器,用于标记视图内部状态源。它由框架自动管理存储和变化监测,当变量值改变时会触发视图刷新,确保UI同步更新。其核心作用是声明影响UI显示的视图状态变量,并委托SwiftUI管理其生命周期和更新逻辑。
2025-10-11 16:21:12
186
原创 My Swift笔记
本文介绍了Swift结构体的三种特性应用。首先演示了一个Human结构体,包含存储属性、静态属性、初始化方法、mutating方法实现值类型修改,以及Equatable协议的自定义比较逻辑。其次展示了方形结构体的计算属性实现,通过get/set方法实现边长与面积的动态计算。最后说明了属性观察者(willSet/didSet)监控属性变化,以及lazy延迟初始化优化性能的用法。这些示例体现了Swift结构体在封装数据与行为时的灵活特性,包括值类型修改、计算派生属性、属性监听和延迟加载等核心功能。
2025-10-02 22:03:45
274
原创 《深度学习入门:基于Python的理论与实现》第7章 卷积神经网络笔记
本章系统介绍了卷积神经网络(CNN)的核心结构与实现原理,重点解析了其与全连接网络的本质区别。首先指出全连接网络处理图像时存在的空间信息丢失和参数冗余问题,进而引出CNN通过卷积层和池化层的设计优势:卷积层利用局部感受野和参数共享保留空间特征,池化层实现降维并提升模型鲁棒性。详细阐述了2D/3D卷积运算机制、填充与步幅的作用原理,以及批处理数据的4D表示方法。针对实现效率问题,提出im2col技巧将高维卷积转化为矩阵乘法运算。本章为理解CNN在图像处理中的高效性奠定了理论基础,并为后续经典网络模型的学习提供
2025-09-26 11:54:21
564
原创 为什么神经网络要“参数更新”?以及参数更新策略!
摘要:神经网络通过调整权重和偏置(参数)来提升预测能力。初始随机参数性能差,需借助损失函数评估误差,并通过梯度下降反向更新参数以减小损失。优化器(如SGD、Adam)影响更新路径和效率。参数更新需平衡训练精度与泛化能力,防止过拟合。最终目标是使模型在训练和测试数据上均表现良好。(150字)
2025-09-24 09:16:16
470
原创 electron安装报错
使用npm直接安装Electron失败时,可改用国内镜像源cnpm安装。先全局安装cnpm工具(npm install -g cnpm),再通过cnpm安装Electron(cnpm install electron --save-dev)。该方法利用国内镜像源解决网络问题,适合npm安装失败的情况。摘要简明扼要地说明了问题原因和解决方案(86字)。
2025-09-05 22:12:58
167
原创 Python技巧记录
本文介绍了Python中数组格式化显示的方法。一维数组可直接使用' '.join(map(str, arr))转换为空格分隔的字符串;二维数组则需遍历每行进行同样处理。还讲解了字符串格式化注意事项,必须将替换值放入元组。最后演示了如何使用char.isdigit()判断字符是否为数字。这些方法在处理数组输出和字符判断时非常实用。
2025-07-12 21:24:32
292
原创 scanf什么时候会返回-1,什么时候返回0。及其不同情况下输入空格返回什么
scanf 是 C 语言标准库中的一个输入函数,用于从标准输入(通常是键盘)读取格式化的数据。scanf 函数的返回值表示成功匹配并赋值的输入项的数量,它可能返回 -1(通常以 EOF 表示)、0 或者一个正整数,下面详细介绍返回 -1 和 0 的情况。在这个示例中,如果用户在输入时按下相应系统的文件结束符组合键,scanf 函数将返回 -1。在这个示例中,如果用户输入的不是一个有效的整数(例如输入字母或其他非数字字符),scanf 函数将无法将输入匹配到 %d 格式,因此会返回 0。输入空格返回-1.
2025-02-28 10:55:20
1013
原创 北京信息科技大学考研+期末C语言模板函数归纳笔记
本文介绍了两种基础排序算法(选择排序和冒泡排序)以及C语言字符串处理函数。选择排序通过双重循环每次找到最小值并交换位置,时间复杂度为O(n²)。冒泡排序通过相邻元素比较交换将最大值"冒泡"到数组末尾,同样为O(n²)复杂度。字符串部分详细讲解了<string.h>头文件中的常用函数:strlen计算字符串长度;strcpy/strncpy实现字符串复制;strcat/strncat用于字符串拼接;strcmp/strncmp比较字符串;strchr查找字符首次出现位置。文中通
2025-02-11 11:04:40
371
原创 IP地址分类
原文链接:https://blog.csdn.net/SmileLife_/article/details/123512049。C类私有地址:192.168.0.0~192.168.255.255。B类地址范围:128.0.0.1—191.255.255.254。C类地址范围:192.0.0.1—223.255.255.254。D类地址范围:224.0.0.1—239.255.255.254。A类地址范围:1.0.0.1—126.255.255.254。B类私有地址:172.
2024-11-22 10:42:52
344
原创 使用快捷键
在VSCode中,你可以通过以下几种方法来自动整理代码格式:使用快捷键:使用快捷键可以快速地格式化选定的代码块或整个文件。当你选定了代码块或将光标放在要格式化的文件中,按下快捷键即可。
2024-10-24 10:33:29
185
原创 工具代码合集
以“〖SQ0〗〖XXZX-ZXY3\.5mm〗〖XXYX-YXY3\.5mm〗〖WT8\.25F7〗〖BM〗〖WTB1〗〖HT〗〖〗〖SQ0〗〖XXYX-YXY3\.5mm〗〖WTXT〗”开头,以“〖WT〗〖〗〖XXYX-YXY3\.5mm〗〖SQ\+0mm〗〖WT8\.25F7〗〖BM〗”结尾。
2024-06-24 11:22:14
383
原创 按照指定字符分割读取文本,重写一个reader.readLine!!!
本文实现一个自定义的字符串分割读取器 CustomStringSplitReader,它可以从指定文件中读取内容,并根据指定的分隔符返回一个个子字符串。在本文中,分隔符是$$$,文件编码是GBK。最开始实现的目的是取代按照自己所需的分隔符将文本的内容读入。
2024-06-21 09:15:13
384
原创 定点整数的表示范围
原码整数表示范围:−2n−1≤x≤2n−1补码整数表示范围:−2n≤x≤2n−1【比原码多表示−2n】移码整数表示范围:−2n≤x2n【右开】
2024-02-13 14:21:56
1326
原创 原函数存在与定积分存在(可积)的区别
的曲线下面积,也就是一个数值,而原函数是一个函数,一个函数存在与否和一个数值是否存在完全就是两码事儿,但是本质上却有一定的联系,建立在某种条件成立的前提下。从此结论中可总结出求原函数的方法:设原函数为变上限积分函数,当被积函数在闭区间内有界且有有限个间断点时,则。若函数fx在闭区间上连续,则变上限积分函数在此区间内可导,且导函数等于。【注:初等函数在区间上连续,故初等函数在其定义区间一定存在原函数】在闭区间连续时,原函数存在,定积分存在,且变上限定积分函数是。在闭区间连续,则变上限定积分函数可导;
2023-12-20 15:14:00
4512
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅