三步走:从arxiv论文到huggingface模型再到github代码的完整开源指南

一文搞定:arxiv上传,huggingface发布,github开源 本文介绍如何将一个项目彻底开源的全流程,包括论文上传至arxiv,模型/数据发布至huggingface,项目代码开源至github。 阅读详情

1. 为什么你需要一个完整的开源流程?

如果你是一名AI研究者或者开发者,辛辛苦苦搞出一个新模型、一篇新论文,是不是特别想让全世界都知道,让大家都能用上你的成果?但现实往往是,论文发在个人主页没人看,模型代码零零散散,别人想复现都无从下手。我见过太多优秀的项目,因为开源流程不完整,最终石沉大海,实在可惜。

一个系统、规范的开源流程,就像给你的研究成果穿上了一件得体的“礼服”。它不仅仅是把东西扔到网上那么简单,而是构建一个完整的、可访问、可复现、可协作的生态。arXiv 负责学术传播,让同行第一时间看到你的思想;Hugging Face 负责模型与数据的托管和分享,让应用变得触手可及;GitHub 负责代码的版本管理和协作开发,让社区力量能够参与进来。这三者环环相扣,缺一不可。

我刚开始做开源的时候也踩过不少坑。比如论文上传后才发现格式不对,被打回来重新编译;模型传上去却忘了写推理示例,别人根本不知道怎么用;代码仓库乱糟糟,连个清晰的 README 都没有,更别提有人来提 Pull Request 了。这些经历让我意识到,开源是一门技术活,有章法可循。这篇文章,我就把自己这些年趟过的路、踩过的坑,总结成一套清晰的“三步走”指南,手把手带你走完从论文到模型再到代码的完整开源之旅,帮你省下大量摸索的时间。

2. 第一步:将论文稳稳当当地上传到 arXiv

arXiv 是学术界的“预印本圣地”,在这里发布论文,意味着你的工作第一时间进入了全球研究者的视野。但第一次上传,很容易被一些细节卡住。

2.1 注册与账号准备:避开第一个“坑”

首先,访问 arxiv.org 进行注册。这里有个小细节需要注意:注册时要求填写国家。如果你下意识地在字母“C”开头的列表里找“China”,那肯定会扑个空。因为 arXiv 使用的是国家的全称,你需要到字母“P”开头的列表里找到 “Peoples Republic of China”。这个点看似微小,但我身边不止一个朋友在这里卡了十分钟。

邮箱方面,强烈建议使用你所在机构的 .edu 邮箱,或者公认的学术邮箱(如 .ac.cn 等)。使用这类邮箱注册,通常可以跳过繁琐的“认可”环节。arXiv 为了确保提交者的学术身份,对于普通邮箱(如 Gmail, 163等)可能需要已有 arXiv 作者发送邀请邮件进行认可,这个过程会多花一两天时间。用学校邮箱,基本上可以做到即时注册成功。

2.2 源码提交与编译:LaTeX 用户的实战手册

arXiv 要求提交论文的 LaTeX 源码,而不是直接上传 PDF。这是为了确保他们能在服务器端重新编译,生成格式统一的 PDF 文档。对于用 LaTeX 写作的朋友,需要准备好完整的源码包。

文件结构怎么安排? 官方的提交指南(Submission Guideline)建议所有文件放在一个根目录下。但根据我的实测,存在子目录(比如 /figures/, /sections/)是完全没问题的,这更符合我们平时的写作习惯。关键在于,你的主 LaTeX 文件必须易于识别。通常,将其命名为 main.tex 或与论文标题相关的名字(如 paper.tex)是最稳妥的。避免使用过于通用的名字,比如 tex.tex。

一个必须有的文件:.bbl。这是由 BibTeX 生成的参考文献列表文件。arXiv 的编译系统需要它来正确处理引用。如果你在用 Overleaf,那就非常方便了。Overleaf 提供了“直接提交到 arXiv”的功能,它会自动帮你打包所有必要文件,包括 .bbl。如果你在本地编译,记得在提交前运行一遍 BibTeX 来生成或更新 .bbl 文件。

我的工作流一般是这样的:在本地完成所有写作和修改后,我会运行一遍完整的编译命令序列:pdflatex -> bibtex -> pdflatex -> pdflatex,确保 PDF 完美无误。然后,我会新建一个文件夹,把所有用到的文件(.tex, .bbl,

科研小白必看:从arXiv到HuggingFace再到GitHub的完整开源指南 本文为科研新手提供从arXiv论文提交到HuggingFace模型发布,再到GitHub代码开源的完整开源指南。详细解析了各平台的操作流程、常见问题及解决方案,帮助研究者高效展示研究成果,提升学术影响力。特别针对开源过程中的技术难点提供实用技巧,助力科研工作顺利开展。 阅读详情

相关推荐

AI论文复现失败?从无效输入到可执行技术博文的转化方法论

AI技术落地的核心挑战之一是将学术论文转化为可复现、可验证、可部署的工程实践。理解模型原理是基础,掌握数据预处理、训练配置与硬件适配等实操环节才是关键。高质量技术博文需锚定具体论文(如arXiv编号)、明确复现目标(如ControlNet tile预处理器)并提供带环境约束的命令级指导,而非泛泛而谈‘代码可用’或‘视频讲解’。当前大量资讯内容缺乏技术实体、可操作要素与领域上下文,导致学习者陷入‘看得懂、跑不通、调不好’的困境。本文聚焦AI工程化中的信息补全逻辑,结合论文复现、开源项目调试与服务部署三类真实场

abo1977的博客 420

基于大语言模型的论文辅助阅读工具:从本地部署到API集成的完整指南

大语言模型(LLM)作为自然语言处理的核心技术,通过海量文本预训练掌握了强大的语言理解和生成能力。其原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,从而能够深度理解复杂文本的语义和逻辑。在技术价值上,LLM不仅革新了人机交互方式,更在信息处理自动化领域展现出巨大潜力,能够将非结构化文本转化为结构化知识。在应用场景中,科研文献阅读与处理是一个典型的高价值领域,研究者常面临大量英文文献带来的语言壁垒和信息过载问题。本文聚焦于如何利用基于Codex等大语言模型构建的本地化部署工具,通过集成

weixin_33847182的博客 410

机器学习科研导航系统:实时追踪arXiv/GitHub/Reddit三维信号

在机器学习领域,研究者面临的核心挑战并非信息匮乏,而是高噪声环境下的信号甄别——arXiv论文日均超180篇,代码开源滞后、术语漂移频繁、作者匿名化加剧,导致传统关键词订阅与RSS推送漏报率高达63%。其本质是动态信息过滤问题,需融合作者行为模式、代码仓库活性(CI通过率、依赖健康度)、社区反馈(Hugging Face Spaces热度、Reddit技术讨论聚类)三重维度,构建低延迟(≤90秒端到端)、高精度(F1≥0.82)、强可操作性(直达diff、消融配置、issue修复)的科研导航闭环。该范式已应

weixin_34226182的博客 451

CV顶会论文实操指南:从复现到部署的避坑手册

计算机视觉模型研发中,论文复现难、部署卡点多、环境适配混乱是普遍痛点。理解模型架构设计原理只是起点,真正决定落地效率的是训练技巧的可移植性、硬件感知的推理优化能力,以及开源代码的工程可用性。本文聚焦近期高热度CV论文,围绕arXiv高频更新、PyTorch版本兼容性、GPU显存临界点等真实约束,系统拆解动态token合并、指令驱动对齐、延迟感知蒸馏等关键技术如何在医学影像、边缘设备等场景中稳定运行。内容覆盖从环境黄金组合配置、预处理陷阱识别,到ONNX导出与profiler耦合等全链路实操细节,为算法工程师

weixin_34238633的博客 308

代码优先:AI技术学习新范式,不读论文也能高效成长

在AI技术快速迭代的今天,论文已不再是技术人员获取知识的第一入口。代码优先的学习方式正成为主流,它强调通过开源仓库、模型卡、API文档和可运行示例来快速理解与验证模型能力。这种范式将信息消费单元从静态文本转变为可交互的运行体,让工程师在跑通代码的过程中掌握真实的技术细节。对于大模型应用开发、Agent工具链建设以及AI工程落地而言,代码优先路径能显著缩短从理论到实践的距离,同时降低试错成本。本文从概念出发,解析代码优先的原理与操作步骤,并探讨其与论文阅读的互补关系,帮助技术人构建高效且原理不偏科的信息摄入体

weixin_30819085的博客 398

LLM论文实操筛选法:从arXiv到生产部署的6篇高杠杆技术

大语言模型(LLM)推理优化是当前AI工程落地的核心挑战,涉及显存占用、长上下文建模、多步逻辑一致性等关键技术瓶颈。理解FlashAttention变体、Speculative Inference、KV Cache优化等原理,不仅关乎理论先进性,更直接影响推理延迟、吞吐量与GPU资源利用率。这些技术的价值在于以极低工程成本(如vLLM插件化集成、无需重训)撬动可观业务指标提升,例如P95延迟下降37%、显存占用减少41%、RAG召回率提升16.3个百分点。本文聚焦可部署间隙小、监控可观测、API集成便捷的6

chuanggangbo5551的博客 590

工程师视角的AI论文筛选方法论:问题域-影响链三维坐标系

AI论文泛滥时代,技术选型的核心挑战已从‘能否读懂’转向‘能否落地’。长上下文可靠性、小样本泛化效率、推理成本可控性等产业级问题,正倒逼算法工程师建立超越顶会标签与发表时序的评估体系。本文提出以问题域为X轴、影响链(基础设施→应用层)为Y轴、验证强度(代码/数据/部署)为Z轴的三维坐标系,将arXiv上每年超12万篇预印本转化为可插拔、可验证、可计费的技术组件。特别聚焦‘被拒稿但高引用’的工程型论文,强调KV缓存压缩比、事实一致性衰减率(FCR)、TTFT与TPS协同优化等硬指标,直击工业场景中PDF合同摘

weixin_33736048的博客 398

LLM论文工业落地评估指南:周度筛选与四维技术验证

大语言模型(LLM)技术迭代迅猛,但学术论文与工程落地之间存在显著鸿沟。理解LLM基础原理是前提,而真正决定技术价值的是其在真实生产环境中的可复现性、硬件适配性、效果确定性与部署侵入性。本文聚焦工业级LLM技术选型方法论,提出以‘周度更新’为节奏、以‘四维评估矩阵’为标尺的论文筛选机制,覆盖从arXiv捕获、代码健康度审计到三基准穿透测试的完整链路。特别融入LLM论文筛选、工业落地信号等核心热词,直击算法工程师、MLOps工程师及技术负责人在模型升级、推理优化与资源决策中的高频痛点,提供可立即执行的技术雷达

weixin_33737134的博客 347

如何识别大模型新版本消息的真伪:以DeepSeek-V2为鉴

大语言模型版本号并非营销标签,而是反映架构代际演进的技术刻度。理解其背后原理——如MoE稀疏激活机制、RoPE位置编码限制、KV Cache显存瓶颈等——是判断技术实质的前提。真实模型升级必然伴随可验证的开源代码、arXiv论文、Hugging Face权重及云平台API落地,形成从理论到工程的完整闭环。在信息过载环境中,开发者需建立基于GitHub、HF、arXiv、云API与社区讨论的五步交叉验证能力,将‘是否可用’置于‘是否新颖’之前。本文以DeepSeek-V2为锚点,系统拆解版本真伪甄别方法论,覆

aebe49167的博客 482

科研论文复现指南:破解技术债与工程可行性陷阱

在AI科研实践中,论文复现远不止是代码运行成功,而是对技术债预警、工程可行性评估和跨领域方法迁移能力的综合考验。从PyTorch版本兼容性、CUDA驱动冲突,到数据预处理隐式假设、量化校准分布偏移,真实落地的关键常藏于审稿意见之外、issue区之中、甚至Linux文件句柄限制之内。本文聚焦December 2024技术栈快照下的典型复现场景,结合VLM-12、BioSeqFormer等四篇前沿工作,系统拆解论文与可运行代码之间的‘最后一公里’——涵盖环境位移量化、隐性随机源溯源、内存碎片诊断及硬件感知量化等

a5199519的博客 484

ICLR 2022前沿论文实操指南:可复现、轻量化与鲁棒性落地

深度学习已从模型创新阶段迈入工程深化期,核心挑战聚焦于计算效率、部署鲁棒性与实验可复现性。注意力机制优化与轻量化模型设计成为突破显存墙和硬件约束的关键路径,其技术价值在于将理论改进转化为可在单卡V100/ A100上5分钟验证的代码级方案;典型应用场景涵盖长序列建模、小样本微调、对抗鲁棒评测及大模型剪枝压缩。本文基于ICLR 2022中经严格工程筛选的10篇高复现性工作,系统梳理FlashAttention的IO感知分块、RobustBench的标准化评估框架、LLM-Pruner的梯度敏感度剪枝等硬核落地

cuikuangru5755的博客 388

大模型推理优化技术原理与工程实践指南

大模型推理优化是提升LLM服务吞吐、降低延迟与硬件成本的核心技术路径。其本质在于通过计算图重构、内存管理优化、量化压缩与调度策略协同,在不显著牺牲生成质量的前提下突破GPU显存与算力瓶颈。关键技术价值体现在支持长上下文、高并发API服务及边缘端轻量化部署。典型应用场景涵盖金融智能客服、代码生成服务、多模态内容理解等对低延迟与高稳定性要求严苛的工业级系统。本文聚焦真实可验证的主流方案——如SGLang的编程抽象层设计、vLLM的PagedAttention机制、AWQ量化原理及其在DeepSeek-Coder

weixin_34323858的博客 494

2025开源多模态大模型实战清单:13个模型选型与部署指南

多模态大模型是融合视觉、语言与文本理解的关键技术,其核心在于通过视觉编码器与语言模型的对齐训练,实现图文互译、文档解析与视频理解等复杂任务。近年来,随着架构路线收敛与训练数据公开,开源多模态模型迎来质变,在OCR、数学推理、GUI操作等场景直接对标闭源系统。对于工程师与产品团队而言,选型需权衡参数量、硬件成本与业务场景——从端侧轻量部署到旗舰级SOTA模型,不同路线各有优劣。本文系统梳理13个主流开源多模态模型,涵盖Qwen2.5-VL、InternVL2.5、MiniCPM-V等,解析其核心能力、资源获取

weixin_34234829的博客 564

DeepSeek官方模型版本全解析:V1/V2/MoE/Coder技术演进与选型指南

大语言模型版本命名是理解技术演进路径的关键入口。DeepSeek作为国产开源大模型代表,其V1稀疏MoE架构、V2全参数稠密设计、MoE工业级混合专家系统及Coder系列代码专用模型,共同构成清晰的迭代逻辑。这些版本在参数规模、推理效率、长上下文支持与多模态扩展能力上呈现显著差异,直接决定企业级部署中的吞吐优化、显存占用与场景适配效果。开发者需结合实际任务——如高并发API服务倾向DeepSeek-MoE的低延迟特性,而复杂推理任务则更适合DeepSeek-V2的236B全参数能力。本文基于官方发布材料、H

weixin_34194087的博客 480

LLM论文工程落地指南:从周度筛选到生产部署的七步法

大语言模型(LLM)技术迭代迅猛,但工业界面临论文复现难、部署适配差、业务价值不明确等核心挑战。本文围绕LLM工程化落地的关键路径,系统解析如何基于技术可行性、工程成本与商业影响(TEC三维模型)对arXiv论文进行精准筛选;深入探讨动态RoPE缩放、TinyLoRA微调、token级早退、误差有界KV缓存量化及自反思蒸馏等前沿方法的原理与实操边界;强调长上下文稳定性、小模型高精度、实时流式生成三大产业卡点的解决方案匹配逻辑。内容覆盖从代码可信度筛查、环境隔离、最小验证(MVP)、生产改造,到A/B测试与持

chuanggangbo5551的博客 501

AI自主代理如何深度合成前沿论文并生成可执行HTML技术博客

自主代理(autonomous agent)是一种能模拟人类研究闭环的智能系统,其核心在于将信息检索升级为多步推理与工具协同的动态过程。它基于学术文献深度合成技术,融合arXiv元数据、官方博客、社区讨论等多源信号,通过LangGraph工作流驱动ArxivSearchTool、TavilySearchTool、PlaywrightBrowserTool等专用组件完成事实核查、公式提取与上下文渲染。这种技术价值在于压缩‘验证延迟’,实现24小时内对新论文的跨源尽职调查,并输出结构严谨、含伪代码与实测表格的H

weixin_34159110的博客 573

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

n8n 快速入门1:构建一个简单的工作流

n8n 快速入门指南

engchina的专栏 1万+

Python实现ARIMA模型

以下是一个使用Python实现ARIMA(自回归移动平均模型)的简单示例代码。在运行代码之前,请确保已经安装了pandasnumpy和库。ARIMAorder(2,0,2)p = 2d = 0q = 2forecastmatplotlib在实际应用中,你需要将模拟数据替换为真实的时间序列数据,并且通过合适的方法(如信息准则等)来确定pdq的最佳值。除了auto_arima在使用pmdarima。

huanghm88的专栏 1736

SAP高级外币评估_FINS_FXV_S4 2022 OP

摘要:S/4HANA 2022 On-Premise中的高级外币评估(FINS_FXV)取代了经典外币估值(FAGL_FCV),提供更优化的财务结算功能。主要创新包括:增量发布逻辑、简化账户配置、行项目级估值可见性等。该功能支持IFRS9等会计准则,通过会计原则(Accounting Principle)进行配置,需完成财务报表版本定义、语义标记分配等必要设置。系统演示展示了从汇率维护(FB60/MIRO)、测试运行到最终过账(FB03)的完整流程,能自动计算并过账汇率差异。高级外币评估简化了期末结算操作,

yanzibing99的博客 1260

ADS学习笔记 2. 低噪声放大器设计

ADS学习笔记 2. 低噪声放大器设计。设计了一个中心频率433MHz,增益18.206dB,NF=0.134dB,S11带宽较好的低噪声放大器

u014087103的博客 9508

白炽灯寿命工程解析:从钨丝蒸发到电压控制的可靠性设计

白炽灯作为一种经典的电光源,其工作原理基于电流通过钨丝产生热辐射发光。在高温下,钨丝会持续蒸发导致灯丝逐渐变细、电阻增大,这是影响其寿命的核心物理机制。从工程角度看,白炽灯的可靠性设计涉及材料科学、热力学和电路设计的交叉,技术价值在于通过理解其失效原理,可以在成本与性能间取得最佳平衡。在实际应用中,电压波动、开关浪涌电流和机械振动是主要寿命杀手,尤其在工业控制、仪器仪表和特定照明场景中,合理的设计能大幅提升系统稳定性。本文深入探讨了钨蒸发、热应力等关键因素,并结合浪涌抑制和降压设计等实战技巧,为工程师提供了

weixin_28684655的博客 570

海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法

海康visionmaster开发笔记10-HALCON第三方算子到VM工具箱的方法

视觉人机器视觉的博客 4347

Altium Designer(AD24/25)PCB编辑的几种方法介绍

本文介绍了Altium Designer(AD24/25)软件中PCB编辑的四种操作方法:1)通过菜单栏"Place→Component"激活;2)点击工具栏元器件图标;3)右键快捷菜单选择;4)快捷键P+C组合操作。建议初学者先通过菜单栏和快捷菜单熟悉操作,熟练后转为工具栏和快捷键以提高效率。文章配有操作示意图,帮助用户快速掌握PCB元器件放置技巧。

fydar的博客 945

DeepSeek邮件管理全攻略

DeepSeek邮件助手是一款高效的邮件处理工具,提供智能分类、撰写、回复和任务自动化功能。通过API调用或多智能体系统,它能自动分类邮件意图、生成专业回复并优化邮件内容。核心功能包括智能过滤、会议安排和任务提醒,支持与主流邮箱服务集成。提供精准提示词模板,帮助用户快速生成得体邮件,提升工作效率。适合个人和企业使用,通过简单配置即可实现邮件处理自动化。

Genio_Wang的博客 180

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 2024最新版VSCode配置OpenCV C++开发环境全流程(含预编译库直接使用方案)
下一篇: 软件工程师必备:如何用DFD图+用例图搞定复杂需求分析?山大课件实例教学
QuietPulse
博客等级 码龄3年 40粉丝 1474原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值