1.3D月光宝盒游戏机模拟器方案源码项目解析(1)
2.软件配置管理相关优势
3.ITX-RK3588J上固件与驱动的交叉编译与烧写流程概述
4.管ç代ç çå·¥å
·
5.手把手教你微调百亿大模型:基于Firefly微调Qwen1.5-14b
3D月光宝盒游戏机模拟器方案源码项目解析(1)
月光宝盒游戏机项目历史悠久,源起于广州的硬件方案,市场反响极佳,吸引了众多开发者加入。经典的“小霸王”游戏机品牌也在此项目中出现了踪影。在京东等电商平台上,打鱼 源码月光宝盒游戏机的销售情况表明,其成本相对较低,利润率高,显示出项目的良好前景。
解析月光宝盒项目的技术构成主要包括硬件与软件两个方面。硬件部分通常采用成熟方案,如HDMI输出设备,并配备手柄,实现游戏设备的基本功能。软件部分则涉及更为复杂的定制与集成。硬件方案通常提供基于Android的操作系统,开发者需要在此基础上构建独特的月光宝盒界面,以此作为用户启动游戏的交互平台。桌面launcher设计即是游戏菜单主界面,负责用户界面的呈现与交互。简化版的月光宝盒界面通常采用极简与metro风格,提供直观且简洁的视觉体验。
界面的直观性与美观性是设计中的关键要素,通过精心的设计,能够提升用户体验,促进项目的成功。线上项目支持在ricegame.cn等网站上下载,用户可以便捷地获取相关资源。
对于软件部分,开发团队需要聚焦于游戏模拟器的核心功能,以实现广泛的游戏支持。米饭模拟器方案是外部源码冰凌一个较为全面的选择,能涵盖街机、GBA、NES(FC)、SNES(SFC)、PS1/PSP、NDS、N、3DS、MD等多个游戏格式。这使得项目能够支持数量巨大的游戏库,提供丰富的游戏体验。如经典的游戏如“三国战记”等,支持数万游戏的模拟器成为用户游戏体验的基石。
自制模拟器或尝试不同的开源方案虽能带来一定的自定义能力,但往往需要较高的时间投入与资源成本。米饭模拟器方案则提供了一站式的解决方案,提前预见风险与成本,确保项目的稳定性和高可用性。此外,米饭模拟器还提供了全面的技术支持,从产品开发到维护阶段都能得到充分的保障。使用此类方案可以有效降低软件开发的风险与成本,同时确保项目在硬件成本方面也能达到优化。
硬件选择也是项目成本控制的重要环节。Firefly RK是一种性能与成本兼优的硬件方案,其性价比极高,支持大多数模拟器功能。使用性能优秀的硬件,能够进一步提升用户体验,但成本投入也会相应增加。
综上所述,月光宝盒游戏机项目通过集硬件与软件设计的sony 电视 源码创新,实现了成本效益的优化与用户体验的提升。无论是面向经典游戏的重现,还是追求更广泛的游戏平台支持,都能在米饭模拟器方案的加持下,实现项目的全面发展。项目团队可依据自身资源与市场需求,选择合适的硬件与软件解决方案,为用户提供丰富且优质的娱乐体验。
软件配置管理相关优势
国内软件企业日益认识到配置管理在提升软件开发管理效率和竞争力中的关键作用。为满足市场的需求,Hansky公司在中国推出了领先行业的软件配置管理解决方案——包括配置管理工具Firefly和变更管理工具Butterfly。 Firefly作为Hansky的软件配置管理系统,它是一款高效、快速的工具,支持多平台应用,适用于企业内部各团队和项目。Firefly的强大功能体现在对软件发布时间、版本构成、Bug修改记录以及版本构建等的精确管理,极大地支持了开发团队的工作,使得他们能够清晰定义并跟踪软件开发的各个环节。 Butterfly作为新一代的变更请求管理软件,以软件项目为中心,优化了开发过程,提供缺陷追踪、源代码管理和丰富的报表,帮助团队高效完成项目。它的特点包括缺陷管理、代码重用、工作流程优化、进度控制和工作分配管理等,有助于提高软件开发的10111011的源码效率和质量。 Hansky的配置管理解决方案为公司带来的益处包括:管理者能够有效控制产品进度和质量,开发人员专注于创新,测试人员执行标准化流程,产品发布人员确保产品质量。具体来说,用户在资金投入、项目周期缩短和知识财富保护上都能看到实实在在的收益。 通过使用Hansky的解决方案,用户可以降低成本,如低硬件要求、易安装维护、简化学习曲线和灵活的许可证管理。系统采用最新的技术,确保长期的适用性和稳定性。同时,通过配置管理,企业可以缩短产品开发周期,提高代码复用,改善工作模式,增强项目管理,并实现工作量的量化考核。 保护企业知识财富是Hansky解决方案的重要目标,通过代码对象库、业务经验库的建立,以及严格的安全性和可靠性保障,公司的知识库得以安全保存和传播,从而增强团队协作和整体竞争力。扩展资料
软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,quicklib源码分享在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。ITX-RKJ上固件与驱动的交叉编译与烧写流程概述
本文档着重阐述了如何在Linux虚拟机环境下,通过交叉编译在Firefly的ITX-RKJ开发板上实现Ubuntu固件与驱动的制作过程,涵盖环境配置、固件与驱动的编译、烧写与安装步骤,并总结了在实现过程中可能遇到的问题及解决策略。
在进行交叉编译时,我们采用win物理机上搭载的VisualBox管理的Ubuntu.虚拟机环境。此过程包括编译环境的配置、源码资源的下载与更新、固件与驱动的编译。在执行过程中,确保在root下执行命令并检查文件权限,使用"chmod"命令调整权限至,以解决可能出现的问题。
配置编译环境时,推荐使用Ubuntu.版本,由于官方建议的.版本不再维护,我们发现其sources.list内的软件源地址无法正常更新,导致配置不便。因此,实测使用.版本能够顺利完成固件编译。建议在虚拟机配置之初完成虚拟内存大小、虚拟硬盘大小的设置、网络连接方式、共享文件夹的配置等步骤,并设置root密码。
编译环境配置涉及多个软件的安装,如repo、git、ssh、make、gcc等,并根据需要安装python2.6-2.7版本和7-zip等工具。安装步骤包括在终端输入安装命令,并完成软件列表和软件的更新。对于其他可能需要的软件,根据编译过程中的报错信息直接下载安装。
SDK初始化与更新部分,涉及资源文件的下载与校验、SDK的解压、初始化与更新。确保下载的资源完整无损,并使用repo工具链接Firefly仓库进行SDK初始化与更新。
固件编译过程中,下载并解压根文件,使用repo工具链进行配置,选择对应板子型号的配置文件并直接编译完整固件。编译生成的固件部分以链接形式保存,完整固件位于指定目录下。对于部分编译,参考Wiki教程调整编译命令。
驱动编译涉及对原始驱动源文件的修改,使其能在新平台上运行。具体修改包括更改makefile文件中的目标平台架构、交叉编译工具链和内核源码路径,以及驱动源文件"xxx.c"的具体代码修改。根据错误信息进行调整,确保驱动能正确编译生成。
固件烧写与驱动安装阶段,将编译好的固件和驱动传输至PC端,通过USB线缆连接至开发板进行固件烧写。使用RKDevTool完成驱动安装与固件烧写流程。驱动安装则通过FTP、TFTP或U盘拷贝至开发板,并在上电时连接外设,使用命令进行驱动安装。
在整个过程中,可能出现的一些问题及解决策略,如repo安装失败时使用特定命令,或U盘无法正常使用时尝试安装ntfs-3g驱动,以确保系统能够正常识别与读取U盘内容。
本文档通过详细的步骤指导,旨在提供一个全面的指南,帮助开发者在Firefly的ITX-RKJ开发板上完成Ubuntu固件与驱动的交叉编译、烧写与驱动安装,以实现开发板的正常运行。
管ç代ç çå·¥å ·
Rational ClearCase:
Rational å ¬å¸æ¯å ¨çæ大ç软件CASE å·¥å ·æä¾åï¼ç°å·²è¢«IBMæ¶è´ãä¹è®¸æ¯åå°å ¶æ³å¤´äº§åãå¯è§å建模第ä¸å·¥å ·Rose çå½±åï¼å®å¼åçé 置管çå·¥å ·ClearCase ä¹æ¯æ·±åç¨æ·çåç±ï¼æ¯ç°å¨åºç¨é¢æ广çä¼ä¸çº§ã跨平å°çé 置管çå·¥å ·ä¹ä¸ã
ClearCaseæä¾äºæ¯è¾å ¨é¢çé 置管çæ¯æï¼å ¶ä¸å æ¬çæ¬æ§å¶ãå·¥ä½ç©ºé´ç®¡çãBuild管ççï¼èä¸å¼å人åæ ééå¯¹å ¶æ¹åç°æçç¯å¢ãå·¥å ·åå·¥ä½æ¹å¼ã
å ¶æ大ç缺ç¹å°±å¨äºå ¶ä»·æ ¼ä¸è²ï¼æ¯ä¸ªå®¢æ·ç«¯ç¨æ·è®¸å¯è¯å¤§çº¦éè¦å åç¾éï¼æ以å¨å½å åºç¨ç¾¤ä½æéã
1ï¼ çæ¬æ§å¶
ClearCaseä¸ä» å¯ä»¥å¯¹æ件ãç®å½ãé¾æ¥è¿è¡çæ¬æ§å¶ï¼åæ¶è¿æä¾äºå è¿ççæ¬åæ¯åå½æ¬åè½ç¨äºæ¯æ并è¡å¼åãå¦å¤ï¼å®è¿æ¯æ广æ³çæ件类åã
2ï¼å·¥ä½ç©ºé´ç®¡ç
å¯ä»¥ä¸ºå¼å人åæä¾ç§äººåå¨åºï¼åæ¶å¯ä»¥å®ç°æåä¹é´çä¿¡æ¯å ±äº«ï¼ä»è为æ¯ä¸ä½å¼å人åæä¾ä¸è´ãçµæ´»ãå¯éç¨çå·¥ä½ç©ºé´åã
3ï¼ Build管ç
对ClearCase æ§å¶çæ°æ®ï¼æ¢å¯ä»¥ä½¿ç¨å®å¶èæ¬ï¼ä¹å¯ä½¿ç¨æ¬æºæä¾çmake ç¨åºã
å ¶æ大ç缺ç¹å°±å¨äºå ¶ä»·æ ¼ä¸è²ï¼æ¯ä¸ªå®¢æ·ç«¯ç¨æ·è®¸å¯è¯å¤§çº¦éè¦å åç¾éï¼æ以å¨å½å åºç¨ç¾¤ä½æéã
Hansky Firefly:
å为Hanskyå ¬å¸è½¯ä»¶å¼å管çå¥ä»¶ä¸éè¦ä¸åçFireflyï¼å¯ä»¥è½»æ¾ç®¡çãç»´æ¤æ´ä¸ªä¼ä¸ç软件èµäº§ï¼å æ¬ç¨åºä»£ç åç¸å ³ææ¡£ãFireflyæ¯ä¸ä¸ªåè½å®åãè¿è¡é度æå¿«ç软件é 置管çç³»ç»ï¼å¯ä»¥æ¯æä¸åçæä½ç³»ç»åå¤ç§éæå¼åç¯å¢ï¼å æ¤å®è½å¨æ´ä¸ªä¼ä¸ä¸çä¸åå¢éï¼ä¸å项ç®ä¸å¾ä»¥åºç¨ã
Fireflyåºäºçæ£ç客æ·æº/æå¡å¨ä½ç³»ç»æï¼ä¸ä¾èµäºä»»ä½ç¹æ®çç½ç»æ件系ç»ï¼å¯ä»¥å¹³æ»å°è¿è¡å¨ä¸åçLANãWAN ç¯å¢ä¸ãå®çå®è£ é ç½®è¿ç¨ç®åæç¨ï¼Firefly å¯ä»¥èªå¨ãå®å ¨å°ä¿å代ç çæ¯ä¸æ¬¡ååå 容ï¼é¿å 代ç 被æ æä¸è¦çãä¿®æ¹ã项ç®ç®¡ç人å使ç¨Fireflyå¯ä»¥ææå°ç»ç»å¼ååéè¿è¡å¹¶è¡å¼åå管ç项ç®ä¸åé¶æ®µç¹çåç§èµæºï¼ä½¿å¾äº§ååå¸æäºç®¡çï¼å¹¶å¯ä»¥å¿«éå°å溯å°ä»»ä¸åå²çæ¬ãç³»ç»ç®¡çå使ç¨Fireflyçå ç½®å·¥å ·å¯ä»¥æ¹ä¾¿çè¿è¡åå¨åºçå¤ä»½åæ¢å¤ï¼èä¸ä¾èµäºä»»ä½ç¬¬ä¸æ¹å·¥å ·ã
WinCVS:
CVS æ¯Concurrent Versions System ç缩åï¼å®æ¯å¼æ¾æºä»£ç 软件ä¸ççä¸ä¸ªä¼å¤§æ°ä½ï¼ç±äºå ¶ç®åæç¨ãåè½å¼ºå¤§ï¼è·¨å¹³å°ï¼æ¯æ并åçæ¬æ§å¶ï¼èä¸å è´¹ï¼å®å¨å ¨çä¸å°å软件ä¼ä¸ä¸å¾å°äºå¹¿æ³ä½¿ç¨ã
å ¶æ大çéæ¾å°±æ¯ç¼ºå°ç¸åºçææ¯æ¯æï¼è®¸å¤é®é¢ç解å³éè¦èªå·²å¯»æ¾èµæï¼çè³æ¯è¯»æºä»£ç ã
Merant PVCS:
MERANT å ¬å¸çPVCS è½å¤æä¾å¯¹è½¯ä»¶é 置管ççåºæ¬æ¯æï¼éè¿ä½¿ç¨å ¶å¾å½¢çé¢æ类似SCCS çå½ä»¤ï¼è½å¤åºæ¬æ»¡è¶³å°å项ç®å¼åçé 置管çéæ±ãPVCS è½ç¶åè½ä¸ä¹åºæ¬è½å¤æ»¡è¶³éæ±ï¼ä½æ¯å ¶æ§è½è¡¨ç°ä¸ç´è¾å·®ï¼éæ¸å°è¢«å¸åºæå·è½ã
Microsoft Visual Source Safe:
Visual Source Safeï¼å³VSSï¼æ¯å¾®è½¯å ¬å¸ä¸ºVisual Studioé å¥å¼åçä¸ä¸ªå°åçé 置管çå·¥å ·ï¼åç¡®æ¥è¯´ï¼å®ä» è½å¤ç§°å¾ä¸æ¯ä¸ä¸ªå°åççæ¬æ§å¶è½¯ä»¶ãVSSçä¼ç¹å¨äºå ¶ä¸Visual Studioå®ç°äºæ ç¼éæï¼ä½¿ç¨ç®åãæä¾äºåå²çæ¬è®°å½ãä¿®æ¹æ§å¶ãæ件æ¯è¾ãæ¥å¿çåºæ¬åè½ã
ä½å ¶ç¼ºç¹ä¹æ¯ååææ¾çï¼åªæ¯æWindowså¹³å°ï¼ä¸æ¯æ并è¡å¼åï¼éè¿Check out - Modify - Check inç管çæ¹å¼ï¼ä¸ä¸ªæ¶é´åªå 许ä¸ä¸ªäººä¿®æ¹ä»£ç ï¼èä¸éåº¦æ ¢ã伸缩æ§å·®ï¼ä¸æ¯æå¼å°å¼åãçè³äºå¾®è½¯æ¬èº«ä¹ä¸éç¨å ¶å为é 置管çå·¥å ·ï¼èæ¯ä½¿ç¨ä¸ä¸ªå为SLM çå é¨å·¥å ·ã
手把手教你微调百亿大模型:基于Firefly微调Qwen1.5-b
本文旨在引导新手通过使用Firefly项目微调Qwen1.5-b模型,学习大模型的微调流程。此教程不仅适用于微调llama、ziya、bloom等模型,同时Firefly项目正在逐步兼容更多开源大模型,如InternLM、CPM-bee、ChatGLM2等。此教程是大模型训练的步步指引,即使你是训练大模型的新手,也能通过本文快速在单显卡上训练出自己的大模型。 访问Firefly项目链接:/yangjianxin1/Firefly 1. 安装环境 假定读者具备一定的python编程基础,直接跳过python、cuda、git等编程环境和工具的安装教程。 首先,将Firefly项目代码库clone至本地: 1. 进入项目目录 2. 创建相应的虚拟环境 3. 安装相应的python包 确保使用源码安装所有包,避免不必要的麻烦。推荐torch版本为1.3,避免使用2.0。 2. 准备训练集 Firefly项目提供多个高质量指令数据集,推荐使用moss数据集,数据集下载地址在Github项目地址中。 训练数据为jsonl格式,每行为一个多轮对话,conversation字段是必需的,可根据实际需求添加或删除其他字段。 也可使用自定义数据,只需整理成指定格式即可。在项目的data/dummy_data.jsonl文件中存放了调试数据,可用于代码调试。 3. 配置训练参数 所有训练参数配置存储在train_args目录,便于统一管理。以微调Qwen1.5-b为例,参数配置文件路径为train_args/qlora/qwen1.5-b-sft-qlora.json,可根据硬件条件调整文件中的训练参数。 训练参数详细说明如下: 在微调Qwen1.5-b时,训练配置如下,需根据实际情况调整: model_name_or_path:可指定huggingface模型仓库名称或本地模型路径。使用huggingface仓库名称时,训练脚本会自动下载权重、tokenizer和代码等。本地访问较慢时,建议先下载模型至本地,使用本地路径。 如遇到OOM问题,可调整max_seq_length、per_device_train_batch_size等参数缓解。开启gradient_checkpointing参数可大幅降低显存占用,但会减慢训练速度。 4. 启动训练 执行以下脚本启动训练,num_gpus表示训练使用的显卡数量。全球批大小为per_device_train_batch_size * gradient_accumulation_steps * num_gpus。 在RTX上训练7B模型,每个step大约秒,B模型每个step大约秒。 5. 合并权重 训练中仅保存adapter的权重,不保存合并后的模型权重。训练结束后,手动将adapter与base model的权重合并。adapter权重保存至output_dir指定目录,执行script目录下的merge_lora.py脚本获取合并后的模型权重。 注意:Qwen1.5-b等模型自定义了结构和tokenizer,代码未合并至transformers库中。合并权重后,需复制huggingface模型仓库中的python文件至合并权重目录,否则加载合并模型进行推理时会出错。 权重合并脚本如下,请根据实际的base model和adapter保存路径,调整save_path、adapter_name_or_path、model_name_or_path等参数。 6. 模型推理 完成权重合并后,即可使用模型进行推理。项目提供单轮对话和多轮对话脚本,详情参见script/chat目录。该脚本兼容本项目训练的所有模型。 生成脚本中的top_p、repetition_penalty、temperature、do_sample等参数对生成效果影响显著,根据使用场景进行调整。 推理阶段,模型的解码方式对生成效果影响巨大,常用解码方式包括Greedy Search、Beam Search、Top-K Sampling、Top-P Sampling、Contrastive Search等。 目前主流模型多采用Top-P Sampling,具有随机性,能提高丰富度,降低重复输出,本项目也使用此方式。Contrastive Search也值得尝试,是一种确定性解码算法。 解码方式值得深入探讨,有兴趣的读者后续可关注。 单轮对话: 多轮对话: 7. 结语 本文详细介绍了使用Firefly项目微调Qwen1.5-b模型的步骤,希望读者按照本教程逐步操作,顺利完成大模型的训练。