LWN:推动更多硬件产品选用KDE!

从千禧年Linux站点清单看开源生态演进与当代资源导航 开源软件生态的核心在于社区驱动的协作与共享。其运作原理基于分布式开发模式,通过版本控制系统(如Git)和代码托管平台(如GitHub)实现全球开发者协同。这一模式的技术价值在于加速创新、提升软件质量与安全性,并降低企业IT成本。应用场景涵盖操作系统、云计算、大数据及人工智能等关键领域。本文以一份2000年的Linux宝藏网站清单为切入点,通过对比Freshmeat、SourceForge等早期平台与GitHub、Arch Wiki等现代资源的演变,系统梳理了Linux信息获取、软件分发、硬件兼容及社区协作的 阅读详情

关注了就能看到更多这么棒的文章哦~

Getting KDE onto commercial hardware

October 5, 2020
This article was contributed by Marta Rybczyńska
Akademy
https://lwn.net/Articles/833153/
DeepL assisted translation

在今年在线举行的 KDE 年度会议 Akademy 2020 上,KDE 开发者 Nate Graham 发表了题为 "Vision of the Future"的演讲,讲述了 KDE 在商业产品上的未来机会。副标题为 "Plasma sold on retail hardware – lots of it",会议集中讨论了如何让 KDE 应用(包括 Plasma 桌面)成为出售给大众的硬件平台上的默认环境。这个建议具体来说,包括创建一个官方的 KDE 发行版来包括硬件认证项目,并可以直接向开发者付费。

Graham 首先介绍了一下背景,他要介绍的的想法是 2017 年 KDE 可访问性和生产力目标(accessibility and productivity)的后续行动。当时所定义的目标之一是让 Plasma 和 KDE 应用程序能直接在各种硬件上正常工作。Graham 认为这一点已经实现了,现在是时候进入下一步了:创建一个正式的 KDE operating system (操作系统)。他认为:"我们必须这样做,如果我们想和硬件厂商能建立起直接的联系"。

他说,KDE 已经有一个名为 neon 的官方发行版。然而,neon 是一个 "半成品",因为它是在一个发行版(Ubuntu 20.04 LTS)之上展示了当前的 KDE 产品,否则人们可能会认为它有些过时了。另一方面,它的性能足以在 Slimbook 笔记本电脑上运行。有听众要求解释 neon 从成立之初到现在有什么变化(当时它还不被称为 KDE 官方操作系统)。Graham 回应说,人们担心会损害 KDE 和发行商之间的关系,但还是一致认为,最好今后将 neon 按照它真正的目标来宣传:KDE 官方发行版。

Graham 继续介绍了他认为这样一个操作系统要满足哪些条件。首先,它需要使用最新的软件,包括当前的 Linux 内核,这也是支持硬件设备的必要条件。应用程序应该要比 Ubuntu 中的应用程序更加新。可以用 Flatpaks 或 Snaps 来安装应用程序。最后一个要求是要让这个系统可以 rebase 到另一个发行版上。他说,只要实现这些功能,这个系统 "will be more awesome"。

另一位听众问,neon 是否是一个很好的参考平台。他看到现在并没有太多的开发工作投入其中。Graham 说,neon 并不完美,应该由 KDE 来创建官方操作系统。它可以是基于 neon 的,但也可以是用其他的选项,比如 Fedora Silverblue 或者 openSUSE,进行更深层次的合作。他强调,这个平台需要是 KDE 控制的东西,要和硬件厂商建立更紧密的联系。

下一个问题是 neon 这样的滚动发行版(rolling distribution)是否适合非技术用户。Graham 回答说,neon 既是滚动发行的(这是指 KDE 软件部分)又是非滚动的(这是指 Ubuntu LTS),这样的做法没有让任何一方完全满意。他想象中应该有某种面向用户的一个开关选项,来决定是运行一个完全滚动发型的软件版本,还是只用经过更充分测试的软件包。但他说从来没有见过这样的操作系统。

A bad idea?

Graham 接着问道。"这是人们能想出的最糟糕的主意吗?"他进一步解释说,人们可能会担心官方的 KDE 操作系统会破坏生态系统(ecosystem),疏远其他那些提供了 KDE 的发行版。他并不担心这种结果,"因为我们已经用 neon 做了这样的事情",而且 "它成功了"。他认为,这反而会推动其他发行商改进他们的产品。他还认为,今后不止会只有一种解决方案,对将来发展也应该会是有好处的。最终,可以让 KDE 与硬件厂商以更好的方式合作。

Graham 认为,在正式发布这个发行版之后,下一步就是建立一个硬件认证计划(hardware certification program)。这将给硬件厂商提供一个渠道来加入他们需要进行的改动。同时也会给用户带来更多的信心,"no more fear or guesswork"。institutions(机构)往往依靠这样的认证计划来降低风险。他给出了一些关于这种 certification 如何运作的想法。一部分可以是官方的 quality-assurance program,另一部分是众包的(crowdsourced),比如 Arch wiki 的 "Hardware" 页面就是个例子。"我们基本上可以采用相同做法",他说,这样 KDE 的开发者就可以了解硬件厂商的需求,并调整自己的工作,使人们对预装 KDE 更有兴趣。

一旦硬件认证项目建立起来,下一步就是让 KDE 与硬件供应商来合作开发产品,也就是预装 KDE 的设备。KDE 应该联系现在销售 Linux 硬件的公司,说服他们默认启用 KDE。Graham 说,这将意味着,有"更多运行 Plasma 的硬件 "卖给消费者,这样就会有更多的人拿到 KDE。这会使 KDE 更容易进入其他市场,比如嵌入式以及汽车市场,因为 Qt(KDE 软件所基于的库)在这些市场本身就已经很强大。他补充说,这对每个人来说都将是一个良性循环,并指出在 Slimbook、Kubuntu Focus 和许多其他使用 Plasma 的笔记本电脑上这已经成为了现实。

随后 Graham 问道,如何才能实现这一愿景?他的回答是,KDE 需要为开发工作付费。目前有一些重要的领域没有足够的资源,包括 system administration(系统管理)和 web site(网站)。他补充说:"我们需要更多可持续的方式来推动。" 他还解释了问题所在:那些有经验的开发者一般都忙于工作,即使他们有能力做 KDE 的高级开发工作,也没有时间。另一方面,学生有时间,但确实需要专业人士的指导。然而专业人士却没有时间给予足够的指导。

Graham 建议资金可以来自 KDE e.V.(这是一个代表 KDE 的组织,尤其是在法律和财务方面)。他解释说,这个组织有很多资金,但在使用这些资金时遇到了困难,这是由于一些法律规定导致的。目前,KDE e.V.在各个方面都在花钱,但是没有花在软件开发上面。他认为,接下需要开始为软件开发提供资金支持了。

接下来他解释说这并不会改变目前的状况,目前来说绝大多数 KDE 长期贡献者都会得到报酬,但不是由 KDE 支付的。围绕 KDE,有一个由众多公司组成的生态系统,会雇用这些开发人员。一些由付费开发者领导的项目的例子是 Krita(由 Krita 基金会支持)和 Plasma(由 Blue Systems、Enioka 和其他公司支持)。

关于如何选择支持哪些项目,Graham 提议以民主的方式(投票)来做出决定。然后由 KDE e.V.来处理招聘过程,就像它已经在为 contractor 外包开发所做的那样。理想的情况是,在社区内部进行招聘。此外,招聘可以让 KDE e.V.要求其成员组织提供更多的财政捐助。Graham 的建议是先招聘 system administrator,然后再雇佣 Plasma 和基本应用(如 Dolphin、Gwenview 和 Okular)的开发人员。这个解决方案将为开发人员提供一条职业发展道路,减少人才流失。KDE 的开发人员将从新手成长为有经验的开发者,变得越来越资深,然后成为导师来带新人。根据 Graham 的说法,这将意味着一个更加稳定且专业的社区。此外,这也会给硬件厂商更多的信心。

In conclusion

他再次问道,这个想法是否可能是一个坏主意?有些人可能会担心,这可能会消耗志愿开发者的积极性。他的想法是不会的,因为 "我们现在已经是这个情况了"。一些开发者已经得到了报酬,KDE e.V.也在资助非技术性的工作。他说:"自由软件中没有什么需要无偿的志愿服务,人们都得付账单。"他建议尝试一下,看看是否可行。如果行得通,社区可以扩大投入,如果行不通就撤退。

他最后举了一些已经有付费贡献者的项目的例子,包括 Krita 的 5 个全职开发者,他们月薪约 2 万欧元(听众对此进行了纠正:实际的开发者人数更多,但没有暴露出来);Blender 有 20 个全职开发者,月预算 10 万欧元;Linux Mint 有 3 位收费的开发者,月薪 1.2-1.4 万美元。他补充说,还有更多的解决方案,听众们可以思考一下 KDE 可以用付费开发者来做什么。

Graham 提前结束了演讲以便 j 大小提问。一位听众想知道他考虑的硬件类型。他的回答是 "the sky is the limit(也就是没有限制)"。Graham 说,笔记本电脑明显是个选项,但我们也应该允许其他解决方案。他说,"你可以在电视上装上 Plasma",或者在智能语音助手上装上 Plasma。只要厂商会默认安装 KDE,那么这类系统就会变得越来越广泛。

还有一个关于发行版的讨论。一个建议是为现有的发行版做贡献,而不是创建一个单独的 KDE 操作系统。Graham 回应说,这种贡献一直在进行。他补充说:"我并不是说这是一个糟糕的模式",但是,根据他的说法,KDE 也可以成为一个发行版。这将为生态系统增加活力,让发行版向 KDE 学习,就像 KDE 向他们学习一样。

另一位听众指出,硬件厂商已经在构建自己的发行版,为什么不和他们谈谈?Graham 回应说,他心中有一个这样的公司,不过他试图联系该公司但没有得到答复。他听说,该公司可能对这个想法持开放态度,但这需要在公司内部建立起个人联系。听众们如果有人有这样的联系人的话,可以告知他。他补充说,他 "很希望能跟硬件厂商建立联系"。

最后一个问题涉及到如何向开发者支付报酬的细节,他建议按功能或按 bug 付费。格雷厄姆更倾向于针对固定项目来雇佣开发者,而不是针对某个具体的功能。具体支持哪些功能可以在 KDE e.V.成员之间讨论。也可能会有一个优先级系统,也有需要为下一个发行版本进行修复的主要 bug。他补充说,KDE 产品经理可以提供帮助。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

激光可燃气体传感器:核心技术环节分析 激光可燃气体传感器核心技术涵盖七个维度:1)TDLAS光谱吸收与调制技术(检测下限ppm级);2)DFB激光器与双闭环温控系统(波长稳定性±0.0036nm);3)微弱信号处理技术(信噪比提升60dB);4)环境补偿算法(温压补偿误差<±1%);5)本质安全防爆设计(ExiaIICT4Ga等级);6)智能边缘计算(STM32L476芯片);7)多重性能验证(响应时间<1秒)。通过微型化、多气体检测等创新,该技术已在工业安全等领域替代传统方案,实现高精度检测。(149字) 阅读详情

相关推荐

PowerBuilder 9 遗留系统逆向实战:3款反编译工具对比与关键DLL破解

本文深入探讨了PowerBuilder 9遗留系统的逆向工程实战,对比分析了PBKiller、PB DeCompiler和Shudepb三款反编译工具的核心功能与适用场景,并详细解析了关键DLL破解技术。通过IDA和OllyDbg等工具的应用,提供了从静态解构到动态追踪的完整逆向方法论,帮助开发者有效维护老旧PB系统。

cucanqi9387的博客 1379

LWN:介绍lockless算法!

Loading [Contrib]/a11y/accessibility-menu.js关注了就能看到更多这么棒的文章哦~An introduction to lockless algor...

Linux News搬运工 1319

Matlab实战:用递归最小二乘法(RLS)搞定动态系统参数辨识(附完整代码)

本文通过Matlab实战,详细介绍了如何利用递归最小二乘法(RLS)进行动态系统参数辨识。文章从理论优势切入,提供了完整的仿真数据生成、RLS算法核心实现代码,并对参数收敛过程、预测误差及不同遗忘因子的影响进行了可视化分析与性能评估,为工程实践提供了清晰的指南。

weixin_29035405的博客 503

LWN:重新思考fsinfo()

关注了就能看到更多这么棒的文章哦~Rethinking fsinfo()By Jonathan CorbetAugust 21, 2020原文来自:https://lwn.net/Art...

Linux News搬运工 480

Python实战:基于PyG和Stable-Baselines3复现柔性车间调度算法(附数据集)

本文提供了一份基于图神经网络与深度强化学习的柔性车间调度实战指南。通过PyTorch Geometric构建异构图表示车间状态,并利用Stable-Baselines3中的PPO算法训练调度智能体,详细介绍了从环境建模、网络设计到训练评估的完整代码实现,帮助开发者构建可复用的工业级智能调度系统。

ansible6ops的博客 607

大疆Livox Mid-70雷达的使用

一、前期准备 (一)、使用Livox Viewer测试雷达 1、设置静态IP sudo ifconfig enx081f7152092a 192.168.1.50 查看IP是否设置成功 lacyexsale@lacyexsale-KLV-WX9:~$ ifconfig enx081f7152092a Link encap:以太网 硬件地址 08:1f:71:52:09:2a inet 地址:192.168.1.50 广播:192.168.1.255 掩码:255.255.25

LacyExsale的博客 1万+

LWN:KDE中的资源管理!

关注了就能看到更多这么棒的文章哦~Resource management in KDEOctober 19, 2020This article was contributed by Ma...

Linux News搬运工 379

图腾柱无桥PFC控制逻辑解析:从双闭环到电压前馈的设计演进

本文深入解析图腾柱无桥PFC控制逻辑的设计演进,从经典双闭环控制到电压前馈技术的实现。通过分析功率波动问题和动态响应慢的症结,提出引入电压前馈的解决方案,并详细探讨数字实现中的关键注意事项。文章还涵盖控制框图的构建、稳定性分析方法及实际应用中的调参技巧,为开关电源设计提供实用指导。

weixin_29268267的博客 571

KDE

KDE5 采用扁平化的设计,看上去很不错,可以考虑折腾一下 以下内容来自百度百科 KDE,K桌面环境(Kool Desktop Environment)的缩写。一种著名的运行于 Linux、Unix 以及FreeBSD 等操作系统上的自由图形桌面环境,整个系统采用的都是 TrollTech 公司所开发的Qt程序库(现在属于Digia公司)。KDE Linux 操作系统上最流行的桌面环境之一...

weixin_30345055的博客 358

移位寄存器——用Verilog实现串入串出、串并和并串转换并进行Modelsim仿真

用Verilog实现串并转换 首先我们先要了并串和串并转换的原理 并串转换:先将八位数据暂存于一个八位寄存器器中,然后左移输出到一位输出端口,这里可以通过一个“移位”来实现,相当于实现了移位寄存器的功能。 串并转换:新输入的位值成为原来数据的最低位,将原来数据的最高位舍去,这里可以通过一个简单的“连接符”来实现。 我们这里采用两种方式来进行串并转换 一:lsb优先 Least Significant Bit,最低比特,最低位优先 二:msb优先 Most Significant Bit,最高比特,

H19981118的博客 2万+

YOLOv12涨点改进 | 全网首发,Conv改进篇 | CVPR 2025 | YOLOv12引入FDConv频率动态卷积,含A2C2f_FDConv二次创新模块,能够捕捉更加丰富和复杂的特征信息

本文提出了一种改进YOLOv12目标检测模型的方法——频率动态卷积(FDConv)。FDConv通过增强卷积核的频率响应多样性,使模型能够更好地处理不同频率信息,从而提高检测精度。该方法包含三个关键组件:傅里叶离散权重(FDW)实现频率分组,核空间调制(KSM)动态调整频率响应,以及频率带调制(FBM)进行频域调节。实验结果表明,FDConv能以较少的参数增长(仅增加3.6M)显著提升模型性能,在目标检测、实例分割等任务中优于传统动态卷积方法。该方法可灵活集成到ResNet、ConvNeXt等多种架构中。

Ai缝合怪、助力小伙伴高效发论文 421

LWN:32位Linux的未来!

关注了就能看到更多这么棒的文章哦~The future of 32-bit LinuxDecember 4, 2020This article was contributed by Ar...

Linux News搬运工 1767

STM32声源定位:实现声源定位的嵌入式解决方案

通过以上代码,我们可以获取麦克风音频信号样本,并使用交叉相关法计算声源的位置。然而,我可以帮助您解答有关STM32声源定位的问题,提供相关的代码和指导。获取了麦克风音频信号后,我们可以使用信号处理算法来计算声源的位置。该算法通过计算不同麦克风之间的信号延迟来确定声源的方向。首先,我们需要获取每个麦克风的音频信号。声源定位是一项重要的技术,可以帮助我们确定声音的来源位置。在嵌入式系统中,使用STM32微控制器可以实现精确的声源定位。声源定位的基本原理是通过多个麦克风阵列接收到的声音信号来计算声源的位置。

UplKubernetes的博客 2581

LWN:OpenBSD针对系统调用的来源进行检验!

关注了就能看到更多这么棒的文章哦~OpenBSD system-call-origin verificationByJake EdgeDecember 11, 2019原文来自:htt...

Linux News搬运工 352

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LWN:《BPF Performance Tools》介绍!

关注了就能看到更多这么棒的文章哦~A look at "BPF Performance Tools"ByJake EdgeFebruary 26, 2020原文来自:h...

Linux News搬运工 5618

深度学习工具包 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")

linux之qt前景,KDE:Qt 死不了,未来或将全面开放

此前有报道称,诺基亚解散了100人的Qt核心开发团队,这不免让人为Qt以及基于Qt的其他项目的未来发展担忧。今天KDE贡献者、openSUSE社区经理Jos Poortvliet在博客中表示,KDE会继续使用并支持Qt,并与诺基亚一起继续发展Qt。Jos表示,KDE社区是世界上最大、最具影响力的自由软件社区之一,拥有众多的贡献者和用户。大部分KDE下的软件都是基于Qt工具。尽管诺基亚对Qt的支持政...

weixin_32612253的博客 1551

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

KDE 开发入门指导(KDE Development – A Beginner's Guide)

为什么80%的码农都做不了架构师?>>> ...

weixin_33738578的博客 784

6 款电商 AI 图片生成软件实测|国内 + 跨境卖家工具清单

电商 AI 作图工具已经从 "能不能用" 进入了 "好不好用" 的阶段。对于绝大多数卖家而言,现在的 AI 工具已经可以覆盖 60%-80% 的基础商品图需求,显著降低拍摄和设计成本。选择工具的核心逻辑不是 "哪款最强",而是 "哪款最适配你的品类、平台规模和团队能力"。垂直电商工具胜在工作流效率,通用生图工具强在创意上限,模板类工具赢在上手速度。建议根据自身业务阶段,搭配 1-2 款主力工具 + 1 款辅助工具,形成适合自己的视觉生产流程。

Mardi_Ladin的博客 326

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 171

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 1万+

医疗 AI 有两种,别混着谈:一个改流程,一个改范式

InfoXMed 是面向医生、医学生和医学科研人员的 AI 医学工具平台,提供文献检索、全文翻译、AI 解读、指南查询和题库练习等功能,辅助临床学习、科研汇报与医学备考。原文是日本医学会杂志(JMA Journal)的一篇综述(Review Article):基本事实:这一点必须先说清:这篇论文提出的是一个研究纲领。它文中的"预测"指的是科学设想,不是可以拿来用的临床预测能力。文中甚至自己承认了一个硬缺口(见第三节)。本文只谈它的术语辨析与科学方法论,不转述任何可作为临床依据的预测或处置主张。这篇论文的全部

2601_96948740的博客 217

在Codex 让AI模型 拥有长期智能记忆

本文介绍Claude-Mem V15新功能——智能记忆召回,解决AI遗忘、重复提示、执行不一致等问题。通过本地部署claude-mem,实现自动记录决策(如数据库选型)、跨会话智能召回,支持记忆写入、检索、遗忘全流程闭环。相比传统记忆方案,其基于Hooks自动捕获工具调用,结构化存储,可追溯、可共享、可清理,显著提升工程效率与协作一致性,是长期项目中理想的“工作黑匣子”与“工程脑”。

米莱虾 264

您您这可以把问小白的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭

第三层是格式编译层。这个决策背后的判断很清晰:一个批量导出工具的价值,不在于“试三次”,而在于你真正用它处理了几十份技术文档、访谈记录或课程讲义之后,它是否值得留在你的工作流里。问小白的会话列表通过分页接口加载,AI导出鸭 在页面运行时建立旁路监听,捕获每一次分页请求返回的完整对话清单,包括会话 ID、标题、时间戳和隐藏的元数据字段。让AI导出回归优雅——这句话说的是:导出不该是体力活,而应该是一次完整的、可预期的文件交付。注意:这里的“批量”指的是左侧列表里的多个独立会话,不是一条会话内的多轮对话。

laoyunsi的博客 227

河道漂浮物目标检测数据集

目标检测,yolo,河道漂浮物目标检测数据集

DL_data_set的博客 183

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 184

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 531
上一篇: LWN:从O_MAYEXEC演变到trusted_for()!
下一篇: LWN:让ftrace的ring buffer里的时间戳更精确!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值