皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

2024 年 2 月的 TIOBE 指数

Editor, Kai

2024 年 2 月的 TIOBE 指数

本月,Go 进入 TIOBE 指数前十名,排名第 8 位。这是Go 有史以来的最高排名。2009 年 11 月,Google 推出了 Go,并一炮而红。在那个年代,谷歌所做的一切都是那么神奇。在 Go 出现的几年前,谷歌就发布了 GMail、谷歌地图和谷歌文档。因此,当谷歌宣布其第一种自有语言 Go 时,软件社区为之振奋。这是全城的话题。在推出仅两个月后,Go 就赢得了 TIOBE 年度语言奖。意想不到的是,炒作很快就结束了。2015 年,Go 在 TIOBE 指数中排名第 122 位,一切似乎都失去了意义。一年后,Go 采用了非常严格的 “半年 “发布周期(得到了谷歌的支持)。每发布一个新版本,Go 都会有所改进。与此同时,Docker 和 Kubernetes(均由 Go 编写)从 2016 年开始变得非常流行。这有助于人们重拾对 Go 的信心。如今,Go 已被用于许多软件领域,如后端编程、网络服务和 API。由于 Go 在行业中的应用越来越广泛,它似乎有能力长期保持在 TIOBE 指数前十名。有趣的是,谷歌最近推出的新语言 Carbon 本月首次进入前 100 名。– 保罗-扬森(Paul Jansen),TIOBE 软件公司首席执行官

TIOBE 编程社区指数是编程语言受欢迎程度的指标。该指数每月更新一次。评级基于全球熟练工程师、课程和第三方供应商的数量。流行网站谷歌、亚马逊、维基百科、必应和其他 20 多个引擎被用来计算评级。值得注意的是,TIOBE 指数并不涉及最佳编程语言或编写代码行数最多的语言。

该指数可用于检查您的编程技能是否仍处于最新状态,或在开始构建新的软件系统时就应采用哪种编程语言做出战略性决策。有关 TIOBE 指数的定义,请点击此处

Feb 2024 Feb 2023 Change Programming Language Ratings Change
1 1 2024 年 2 月的 TIOBE 指数 Python 15.16% -0.32%
2 2 2024 年 2 月的 TIOBE 指数 C 10.97% -4.41%
3 3 2024 年 2 月的 TIOBE 指数 C++ 10.53% -3.40%
4 4 2024 年 2 月的 TIOBE 指数 Java 8.88% -4.33%
5 5 2024 年 2 月的 TIOBE 指数 C# 7.53% +1.15%
6 7 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 JavaScript 3.17% +0.64%
7 8 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 SQL 1.82% -0.30%
8 11 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Go 1.73% +0.61%
9 6 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Visual Basic 1.52% -2.62%
10 10 2024 年 2 月的 TIOBE 指数 PHP 1.51% +0.21%
11 24 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Fortran 1.40% +0.82%
12 14 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Delphi/Object Pascal 1.40% +0.45%
13 13 2024 年 2 月的 TIOBE 指数 MATLAB 1.26% +0.27%
14 9 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Assembly language 1.19% -0.19%
15 18 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Scratch 1.18% +0.42%
16 15 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Swift 1.16% +0.23%
17 33 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Kotlin 1.07% +0.76%
18 20 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Rust 1.05% +0.35%
19 30 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 COBOL 1.01% +0.60%
20 16 2024 年 2 月的 TIOBE 指数 2024 年 2 月的 TIOBE 指数 Ruby 0.99% +0.17%

其他编程语言

下面列出了完整的前 50 种编程语言。此概述是 非正式发布,因为我们可能错过了一种语言。如果 您觉得缺少编程语言,请通知我们 在 tpci@tiobe.com。另请查看我们监控的所有编程语言的概述

Position Programming Language Ratings
21 R 0.99%
22 SAS 0.95%
23 Classic Visual Basic 0.82%
24 Prolog 0.77%
25 Ada 0.77%
26 Perl 0.63%
27 (Visual) FoxPro 0.62%
28 Dart 0.58%
29 D 0.57%
30 F# 0.57%
31 Scala 0.48%
32 Objective-C 0.47%
33 Lua 0.44%
34 Julia 0.43%
35 Lisp 0.42%
36 Transact-SQL 0.40%
37 VBScript 0.38%
38 Haskell 0.37%
39 TypeScript 0.37%
40 Logo 0.32%
41 Bash 0.31%
42 Scheme 0.28%
43 Solidity 0.28%
44 ABAP 0.27%
45 ML 0.26%
46 X++ 0.25%
47 PL/SQL 0.24%
48 GAMS 0.24%
49 PowerShell 0.24%
50 RPG 0.22%

下一个 50 种编程语言
以下列出的语言从第 51 位到第 100 位。由于差异相对较小,因此只列出了编程语言(按字母顺序排列)。

ABC、ActionScript、Apex、APL、AutoLISP、Awk、bc、Carbon、CFML、Chapel、CHILL、CL (OS/400)、CLIPS、Clojure、Curl、Eiffel、Elixir、Erlang、Forth、Groovy、Hack、Icon、Io, J, J#, JScript, LabVIEW, Ladder Logic, Modula-2, MQL5, Nim, OCaml, Occam, OpenCL, OpenEdge ABL, PL/I, Pure Data, Q, Racket, Raku, REXX, Ring, Smalltalk, Snap!,SPARK、Tcl、TOM、VHDL、Wolfram、Zig
本月索引中的更改
本月对索引的定义做了以下更改:

根据 Landerson Gomes dos Santos 的观察,YouTube 和百度不再用于计算 TIOBE 指数,因此我们对 TIOBE 指数介绍的措辞做了一些修改。
长期历史
要了解更多信息,请参阅以下多年前十大编程语言的排名情况。请注意,这些是 12 个月内的平均排名。

Programming Language 2024 2019 2014 2009 2004 1999 1994 1989
Python 1 4 8 6 11 27 22
C 2 2 1 2 2 1 1 1
C++ 3 3 4 3 3 2 2 3
Java 4 1 2 1 1 13
C# 5 6 5 8 8 30
JavaScript 6 8 9 9 9 20
Visual Basic 7 19
PHP 8 7 6 5 6
SQL 9 9 7
Assembly language 10 11
Objective-C 27 10 3 38 48
Lisp 33 28 14 17 15 12 7 2
(Visual) Basic 7 4 5 3 3 7

 

这里有两点很重要:

上表中的 “Visual Basic “和”(Visual) Basic “是有区别的。在 2010 年之前,”(Visual) Basic “指的是 Basic 的所有可能的方言,包括 Visual Basic。经过讨论,决定将”(Visual) Basic “分为所有方言,如 Visual Basic .NET、Classic Visual Basic、PureBasic 和 Small Basic 等。由于 Visual Basic .NET 已成为 Visual Basic 的主要实现形式,因此现在被称为 “Visual Basic”。
编程语言 SQL 在 2018 年被添加到 TIOBE 索引中,因为有人指出 SQL 是图灵完备的。因此,尽管这种语言非常古老,但它在索引中的历史却很短。
编程语言名人堂
列出所有 “年度编程语言 “获奖者的名人堂如下所示。该奖项授予在一年内收视率上升幅度最大的编程语言。

Year Winner
2023 2024 年 2 月的 TIOBE 指数 C#
2022 2024 年 2 月的 TIOBE 指数 C++
2021 2024 年 2 月的 TIOBE 指数 Python
2020 2024 年 2 月的 TIOBE 指数 Python
2019 2024 年 2 月的 TIOBE 指数 C
2018 2024 年 2 月的 TIOBE 指数 Python
2017 2024 年 2 月的 TIOBE 指数 C
2016 2024 年 2 月的 TIOBE 指数 Go
2015 2024 年 2 月的 TIOBE 指数 Java
2014 2024 年 2 月的 TIOBE 指数 JavaScript
2013 2024 年 2 月的 TIOBE 指数 Transact-SQL
2012 2024 年 2 月的 TIOBE 指数 Objective-C
2011 2024 年 2 月的 TIOBE 指数 Objective-C
2010 2024 年 2 月的 TIOBE 指数 Python
2009 2024 年 2 月的 TIOBE 指数 Go
2008 2024 年 2 月的 TIOBE 指数 C
2007 2024 年 2 月的 TIOBE 指数 Python
2006 2024 年 2 月的 TIOBE 指数 Ruby
2005 2024 年 2 月的 TIOBE 指数 Java
2004 2024 年 2 月的 TIOBE 指数 PHP
2003 2024 年 2 月的 TIOBE 指数 C++

错误和更改请求
这是要求最多的 5 个更改和错误。如果您有任何改进索引的建议,请发送电子邮件至 tpci@tiobe.com。

除”<语言>编程 “外,还应尝试其他查询,如 “使用<语言>编程”、”<语言>开发 “和”<语言>编码”。
增加其他自然语言(除英语外)的查询。我们的想法是从中文搜索引擎百度开始。这项工作已经部分完成,并将在未来几个月内完成。
添加所有被拒绝的搜索词请求列表。这是为了尽量减少有关 Rails、JQuery、JSP 等的重复邮件数量。
为数据库、软件配置管理系统和应用程序框架建立 TIOBE 索引。
有些搜索引擎允许查询去年添加的页面。TIOBE 索引应仅跟踪最近添加的页面。

转自 TIOBE Index – TIOBE

Android 15蓄势待发:第一大特性首度曝光

Editor, Kai

快科技2月9日消息,据媒体报道,谷歌推送了Android 14 QPR3 Beta 1版本,开发者发现,新版Android加入了简易模式(easy pre-set)功能。

在简易模式下,用户可以放大APP图标和文本,让字体变粗,更适合长辈使用。

Android 15蓄势待发:第一大特性首度曝光

对长辈而言,智能手机丰富的功能某种程度上反而是一种累赘,当前国内不少厂商都提供老人模式选项,这一模式除了基础的字体放大外,有些品牌还提供了一键拨号等实用功能,方便老人使用。

从爆料信息来看,Android 15新的简易模式就是为长辈而来,让他们更容易上手智能手机。

Android 15蓄势待发:第一大特性首度曝光

值得注意的是,这项功能在Android 14 QPR3 Beta 1上还不可用,谷歌会把这个特性留到Android 15发布会上公布。

开发者之所以提前在Android 14 QPR3 Beta 1中发现,是因为谷歌正在同时开发Android 14 QPR版本和Android 15。

在今年上半年,Android 15开发者预览版就要上线了,今年下半年正式上线稳定版,谷歌Pixel系列新品将首发Android 15系统。

Android 15蓄势待发:第一大特性首度曝光

【本文结束】如需转载请务必注明出处:快科技

责任编辑:振亭

转自 Android 15蓄势待发:第一大特性首度曝光–快科技–科技改变未来 (mydrivers.com)

芯片、系统全国产!神舟信创商用笔记本电脑上架:9599元起

Editor, Kai

快科技2月7日消息,神舟最新推出了一款信创商用笔记本电脑,CPU、显卡、系统全国产。

目前官方尚未公布具体的参数信息,甚至连挂出的外观图都不是同一款,目前的展示应该还不是最终方案。

芯片、系统全国产!神舟信创商用笔记本电脑上架:9599元起

不过目前配置信息和对应的价格已经公布:

CNB5SF0:8G内存+256G固态硬盘,售价9599元;

CNB5SF1:8G内存+512G固态硬盘,售价9799元;

CNB5SC9:16G内存+256G固态硬盘,售价9799元;

CNB5SD1:16G内存+512G固态硬盘,售价10199元。

核心搭载龙芯3A6000M移动处理器,板载 2G国产独显,预装麒麟系统。

芯片、系统全国产!神舟信创商用笔记本电脑上架:9599元起

龙芯3A6000是11月底正式发布的国产处理器,采用龙芯自主指令系统龙架构,是我国本土研发、自主可控的新一代通用处理器。

性能方面,该处理器主频达到2.5GHz,集成4个最新研发的高性能LA664处理器核,支持同时多线程技术(SMT2),全芯片共8个逻辑核。

芯片、系统全国产!神舟信创商用笔记本电脑上架:9599元起

对比Intel-i3 10100,SPEC CPU 2006测试中,龙芯3A6000多核定点强20%、多核浮点强17%,单核定点持平,单核浮点弱5%。

在UnixBench测试中,3A6000单线程、多线程比Intel-i3 10100也都有10%以上的提升。

【本文结束】如需转载请务必注明出处:快科技

责任编辑:建嘉

转自 芯片、系统全国产!神舟信创商用笔记本电脑上架:9599元起–快科技–科技改变未来 (mydrivers.com)

人工智能:关于神经网络的更多信息以及 PyTorch 简介

Editor, Kai

人工智能:关于神经网络的更多信息以及 PyTorch 简介

本系列中关于人工智能和机器学习的上一篇文章在很多方面都至关重要。首先,我们开始使用 scikit-learn,这是一个非常强大的 Python 库,可用于开发基于人工智能和机器学习的应用程序。其次,我们部署了第一个训练有素的模型。但最重要的是,这篇文章介绍了 ChatGPT,这可能是印度印刷杂志第一次介绍 ChatGPT。这篇文章是人工智能系列的第八篇,它讲述了更多关于神经网络和无监督学习的内容,并介绍了 PyTorch,一个能够从数据中学习的非常强大的框架。

正如上一篇文章所述,ChatGPT 是 OpenAI 于 2022 年 11 月推出的一款聊天机器人。在短短两个月的时间里,ChatGPT 已经形成了两个对立的派别。一派支持像 ChatGPT 这样基于人工智能的工具,并等待着人工智能创造的乌托邦世界。另一派则对人工智能忧心忡忡,并做出了末日预言。他们担心会出现一个乌托邦式的未来–类似于 “终结者 “的场景,即机器控制人类,而不是相反。这一派中的一些人还认为 ChatGPT 将成为就业杀手。这些人认为,可能受到威胁的工作包括商业转录、医疗转录、文案写作、教学、法律工作等。但请记住,半个世纪前,许多人认为计算机是工作杀手,看看他们错得有多离谱。有些人还预言,像 ChatGPT 这样的工具可能是谷歌、必应、百度等传统搜索引擎末日的开始–我个人并不认同这种观点。

但 ChatGPT 的受欢迎程度如何呢?FaceBook 在 2004 年花了 10 个月的时间才获得 100 万用户。2006 年,Twitter 用了大约两年时间才获得一百万用户。Instagram 在 2010 年上市后的两个半月内,下载量就超过了 100 万。这些都是了不起的成就。但是,你知道 ChatGPT 在向公众开放后花了多少时间才获得一百万用户吗?不到一周!太不可思议了,不是吗?写这篇文章时,我还不知道确切的用户数量。但如今,由于用户数量庞大,ChatGPT 的服务经常无法使用。

同样由 OpenAI 提供的 DALL-E 2 也是一个能够根据描述生成图像的工具。为了艺术,我希望至少专家馆长能够区分两者,就像宝石学家能够轻松区分真假钻石一样,这对普通人来说并非易事。

我们还应该思考,像 ChatGPT 这样的突破性工具将如何影响人工智能相关的研究经费。它可能会为人工智能领域带来更多的资金,从而催生更多突破性的工具和发明。然而,这种期望值的提高也可能导致失望,并引起资助大部分研究的工业巨头的负面反应。在这种时候预测人工智能的未来并不安全。也许我们应该请 ChatGPT 来预测一下。不过,我建议大家阅读维基百科上题为 “人工智能的冬天 “的文章,以了解更多关于人工智能领域研究经费的信息,因为夸大的期望在现实中并没有得到回应。另外,如果你还没有使用过 ChatGPT 或 DALL-E 2,我再次恳请你尝试一下。你会被它们深深吸引的。现在,让我们回到基于人工智能和机器学习创建简单应用程序的卑微努力上来。

Keras 和神经网络
在上一篇文章中,我们使用 MNIST 手写数字数据库训练了第一个模型。我们还使用一些手写数字的扫描图像测试了我们的模型。在上一篇文章中,除了第 16、19 和 20 行外,我们对代码进行了逐行详细解释。这几行代码是模型的核心,我们在上一篇文章中只是简单地说明了这一点。这三行代码定义了模型中使用的神经网络的属性以及训练参数。在本文中,我们将详细讨论这三行代码,以便更清楚地了解神经网络及其训练。首先,请看下图中用于开发模型的第 16 行代码。请注意,虽然代码跨越了多行,但从语法上讲,它是一条单一的代码语句。

model = keras.Sequential(
        [
keras.Input(shape=input_shape),
layers.Conv2D(32, kernel_size=(3, 3), activation=”relu”),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Conv2D(64, kernel_size=(3, 3), activation=”relu”),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Flatten(),
layers.Dropout(0.5),
layers.Dense(num_classes, activation=”softmax”),
        ]
    )

让我们简要回顾一下第 1 行至第 15 行对我们的模型所做的工作。首先,我们导入了必要的 Python 库,如 NumPy、Keras 等。然后,我们固定了类的数量、输入形状等。接着,我们加载了 MNIST 数据集,并将其分为训练数据和测试数据。之后,我们检查系统中是否存在训练过的模型。如果已经存在训练有素的模型,我们这样做是为了避免耗费时间和资源的模型训练过程。如果不存在经过训练的模型,那么用于训练的模型的属性由第 16 行代码定义。

现在,让我们来详细看看上面显示的那行代码。首先,确定使用的神经网络类型。回想一下,神经网络有一个输入层、若干个隐藏层和一个输出层。此外,每一层都有若干节点(神经元)。我们使用 Keras 的序列 API 提供的类 Sequential( ) 定义了一个序列模型。顺序模型是层的堆叠,其中每一层都有一个输入张量和一个输出张量。通过该模型,我们可以逐层创建神经网络。顺序模型是一个相对简单的神经网络模型。如果想创建更复杂的神经网络,可以使用 Keras 的函数式 API 提供的 Model( ) 类。如果需要,函数式 API 可以处理具有共享层和多个输入或输出的模型。不过,我更喜欢更简单的顺序模型。

现在,让我们试着了解给顺序模型提供的输入参数。代码 “keras.Input(shape=input_shape) “定义了输入层的输入形状。在本例中,形状为 (28, 28, 1),因为我们用于训练的 MNIST 数据集由一组 28×28 像素的手写数字灰度图像组成。代码 “layers.Conv2D(32, kernel_size=(3, 3), activation=”relu”) “定义了一个二维卷积层。

顺便问一下,什么是卷积层?卷积层将滤波器应用于输入,从而产生激活。代码中的整数 32 指定了参数 filters,它定义了卷积中输出滤波器的数量。第二个参数 kernel_size 指定了二维卷积层的高度和宽度。记得我们在本系列的第六篇文章中已经讨论过一般的激活函数,特别是名为 “relu”(整流线性单元)的激活函数。请注意,二维卷积层还可以指定很多其他参数。但我们的简单示例只指定了我们已经讨论过的三个参数。代码 “layers.MaxPooling2D(pool_size=(2, 2)) “会生成一个用于处理二维空间数据的最大池化层。它通过为输入的每个通道提取输入窗口中的最大值,对输入数据沿空间维度进行向下采样。输入窗口的大小由参数 pool_size 指定,在本例中为 (2, 2)。现在,让我们通过一个简单的例子来了解最大值池的工作原理。请看图 1 所示的代码。

人工智能:关于神经网络的更多信息以及 PyTorch 简介
图 1:二维最大池化层的效果
第 1 行导入 TensorFlow。第 2 行定义了一个名为 data 的二维张量。第 3 行将 data 的维度重塑为 (1,2,2,1)。第 4 行使用 MaxPooling2D 类创建对象 max_pool。请注意,参数 pool_size 为 (2,2)。第 5 行对名为 data 的张量执行最大池化操作并打印结果。由于 data 是一个二维张量,因此 max_pool 只返回一个元素。图 1 也显示了脚本的输出结果。可以看到,返回的值是 44.4,即名为 data 的张量中存储的最大值。

现在,让我们回到模型中第 16 行代码的剩余部分。layer.Conv2D(64,kernel_size=(3,3),activation=”relu”) “代码定义了神经网络的另一个二维卷积层,但这次指定的参数过滤器为 64。同样,代码 “layers.MaxPooling2D(pool_size=(2, 2)) “再次生成了一个最大池化层。layer.Flatten() “代码会生成一个图层,将多维张量作为输入,并将其转换为单维张量。为了更好地理解该层的工作原理,请参考图 2 所示的代码。

第 1 行导入了 Keras 的层 API。第 2 行定义了一个顺序模型。第 3 行使用 add( ) 方法为该模型添加了一个二维卷积层。这行代码还演示了如何逐层构建顺序模型。第 4 行打印该层的输出形状。图 2 显示当前的输出形状为(None, 4, 10, 10)。第 5 行添加了一个扁平层。第 6 行打印扁平化图层的输出形状。图 2 显示该层的输出形状为(无,400)。请注意,该层并不影响数据值,它只是对数据进行了重塑。

人工智能:关于神经网络的更多信息以及 PyTorch 简介

现在,让我们来看看模型第 16 行代码中的剩余代码。layer.Dropout(0.5) “代码创建了一个 Dropout 层。在训练过程中,该层每一步都会以一定的频率将输入单位随机设置为 0。这有助于防止过度拟合。简单来说,过度拟合是数学模型从训练数据中学习过多时面临的问题。这会导致模型无法根据新数据进行预测。在 Dropout 层中,未设置为 0 的输入数据会按 1/(1 – 速率)的系数进行缩放,从而使所有输入数据的总和保持不变。在我们的模型中,参数 rate 被指定为 0.5。layers.Dense(num_classes,activation=”softmax”) “代码创建了一个密集连接的神经网络层。第一个参数称为单位(在我们的示例中由变量 num_classes 提供),定义了这一层的输出维度。请注意,在我们的模型中,变量 num_classes 的值是 10,因为我们要对 0 到 9 的十进制数字进行分类。此外,我们使用的激活函数不是 “relu”,而是 “softmax”,这是一个稍微复杂的激活函数。请阅读维基百科上题为 “Softmax 函数 “的文章,以便更好地理解这个激活函数。最后,第 16 行代码中的 Sequential 类返回的生成模型被存储在一个名为 model 的对象中。因此,我们的模型总共有七层。代码的第 17 和 18 行定义了模型的批量大小和历时大小。

现在,请看用于开发模型的第 19 行代码,如下所示。

model.compile(loss=”categorical_crossentropy”, optimizer=”adam”, metrics=[“accuracy”])
])
让我们试着理解一下上面这行代码。在开始训练模型之前,我们需要使用方法 compile( ) 配置训练过程。编译( )方法有三个参数。它们是:损失、优化器和度量。损失函数是模型试图最小化的目标。损失函数包括均方误差(mean_squared_error)、绝对均方误差(mean_absolute_error)、绝对均方误差百分比(mean_absolute_percentage_error)、对数均方误差(mean_squared_logarithmic_error)、铰链(hinge)、二元交叉熵(binary_crossentropy)、分类交叉熵(categorical_crossentropy)、泊松(poisson)、余弦接近度(cosine_proximity)等。在我们的模型中,我们使用了名为分类交叉熵的目标函数。它用于优化分类模型。可供选择的优化器包括 SGD、RMSprop、Adagrad、Adadelta、Adam、Adamax、Nadam 等。在我们的模型中,我们使用了名为 “adam”(亚当)的优化器。Adam 是一种基于梯度的一阶优化算法,适用于随机目标函数。关于 Adam 的详细讨论超出了本教程的范围。最后,度量是用来衡量模型性能的函数。在我们的模型中,我们将 “准确度 “作为衡量指标。该指标计算的是预测结果与标签结果相等的频率。正是因为包含了这一指标,我们才能在处理测试数据时打印出模型的准确度。除了准确度指标,还有其他指标,如概率指标、回归指标、图像分割指标等。

现在,请看下图中用于开发模型的第 20 行代码。

model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.1)
让我们试着理解上面这行代码。以下参数会传递给 fit( ) 方法。变量 x_train 包含训练数据。训练数据可以是 NumPy 数组或 TensorFlow 张量。变量 y_train 包含目标数据。目标数据也可以是一个 NumPy 数组或一个 TensorFlow 张量。指定批次大小和历时次数的参数也会传递给 fit( ) 方法。参数 validation_split 用于确定训练数据中用作验证数据的部分。在我们的模型中,该参数的指定值为 0.1。训练完成后,该模型会保存在我们的系统中,这样就可以避免将来不必要的训练。之后,我们会使用测试数据来检验训练出的模型的准确性。最后,我们的模型可用于对新的手写数字图像进行预测。至此,关于第一个训练好的模型的讨论就结束了。

使用 scikit-learn 进行无监督学习
我们知道,机器学习的两个重要范式是监督学习和无监督学习。虽然没有这两种模式流行,但还有其他范式,如半监督学习和强化学习。但到目前为止,我们在本系列中的讨论完全基于监督学习和无监督学习。虽然我们讨论了无监督学习,但迄今为止,我们一直非常重视线性回归和分类等有监督学习算法。

现在,是时候更多地讨论无监督学习了,它是一种使用无标签数据的学习方法。与有监督学习一样,无监督学习也有聚类、降维等不同算法。在本文中,我们将重点讨论聚类。聚类是对一组对象进行分组,使同组对象之间的关联度高于其他组对象。有许多不同的聚类算法–K-Means 聚类、亲和传播聚类、均值移动聚类、光谱聚类、分层聚类、DBSCAN 聚类、OPTICS 聚类等。本文将使用 scikit-learn 库实现 K-Means 聚类。

K-Means 聚类算法首先选择 K 个随机点作为聚类中心。待分组的对象会被分配到随机选择的 K 个聚类中的一个。根据分配给每个聚类的对象数量,反复计算新的聚类中心,直到对象的分组趋于稳定。现在,让我们熟悉一下使用 scikit-learn 实现 K-Means 聚类的 Python 脚本(如下所示)。由于程序比较庞大,为了更好地理解,这里将逐部分进行解释。为了便于解释,在程序中添加了行号。

1. import numpy as np
2. from matplotlib import pyplot as plt
3. from sklearn.datasets import make_          blobs
4. from sklearn.cluster import KMeans
5. X, y = make_blobs(n_samples=200,            centers=2, n_features=2, cluster_       std=0.5, random_state=0)
6. plt.scatter(X[:,0], X[:,1])
7. plt.show( )

让我们试着理解上述几行代码。第 1 和第 2 行导入了 NumPy 和 Matplotlib。第 3 行导入 make_blobs() 方法。第 4 行导入 KMeans() 类。第 5 行调用 make_blobs( ) 方法生成用于聚类的各向同性高斯 Blobs。以单个实体形式存储的二进制数据集合称为 blob(二进制大对象)。前面两句话是什么意思呢?在这个例子中,我们没有使用实际数据,而是生成样本数据来测试 K-Means 聚类算法。但与本系列中的许多其他场合不同的是,我们这次生成的不是随机数据。生成的样本数据取决于我们传递给 make_blob( ) 方法的参数。在这个示例中,我们采集了 200 个样本(参数 n_samples),只有两个中心(参数 centers)。参数 n_features 决定了生成数据集的列数或特征数。由于我们要在二维平面上绘制生成的数据,因此 n_features 至少应为 2。 参数 cluster_std 用于确定聚类的标准偏差。本例中为 0.5。参数 random_state 决定了创建数据集的随机数生成方式。方法 make_blob( ) 返回生成的样本(本例中存储在数组 X 中)和每个样本的聚类成员身份的整数标签(本例中存储在 y 中)。最后,第 6 和第 7 行将生成的样本数据绘制并显示在二维平面上。

人工智能:关于神经网络的更多信息以及 PyTorch 简介
图 3 显示了生成的样本数据图。

现在我们有了必要的数据,让我们试着从这些数据中识别群集。下面几行代码就可以做到这一点。

8.  kmeans = KMeans(n_clusters=2,               init=’k-means++’, max_iter=1000,            random_state=0)
9.  predict_y = kmeans.fit_predict(X)
10. plt.scatter(X[:,0], X[:,1])
11. plt.scatter(kmeans.cluster_centers_     [:, 0], kmeans.cluster_centers_
    [:, 1], s=500, c=’green’)
12. plt.show( )

现在,让我们试着理解上述几行代码。第 8 行调用 KMeans 类创建了一个名为 kmeans 的对象。让我们讨论一下传递给该类的参数。参数 n_clusters 固定了要形成的聚类数量以及要生成的聚类中心数量。参数 init 决定初始化的方法。参数 init 有两个选项,分别是 “k-means++”和 “随机”。该参数决定如何确定聚类中心。我们选择了 “k-means++”,因为它在寻找聚类中心时收敛速度更快。参数 max_iter 决定 K-Means 算法单次执行的最大迭代次数。本例中为 1000 次。参数 random_state 决定初始化聚类中心时生成的随机数。第 9 行使用 KMeans() 类的 fit_predict( ) 方法计算聚类中心,并预测样本数据中每个样本所属的聚类。第 10 行再次绘制生成的样本数据。第 11 行用绿色绘制聚类中心。最后,第 12 行显示绘制的图像。图 4 显示了生成的样本数据和确定的聚类中心。这样,我们就实现了第一个简单的无监督学习算法。

人工智能:关于神经网络的更多信息以及 PyTorch 简介

图 4:通过 K-Means 聚类确定的聚类中心

PyTorch 简介
现在让我们来熟悉一下 PyTorch,这是一个基于 Torch 库的强大机器学习框架。Torch 是一个开源机器学习库,也是一个基于 Lua 编程语言的科学计算框架。PyTorch 是在修改后的 BSD 许可下发布的免费开源软件。PyTorch 可以在 CPU 模式和 GPU 模式下工作。但为了使用 PyTorch 的 GPU 模式,我们需要在系统中安装 Nvidia 显卡和 CUDA 平台。和以前一样,PyTorch 的安装将由 Anaconda Navigator 负责。让我们先讨论一个使用 PyTorch 的简单 Python 脚本。请看图 5 所示的 Python 脚本。

人工智能:关于神经网络的更多信息以及 PyTorch 简介
图 5:PyTorch 的初步介绍
我们已经讨论过张量以及如何使用 TensorFlow 创建张量。我们也可以使用 PyTorch 创建张量。现在,让我们试着理解图 5 所示的 Python 脚本,它使用 PyTorch 创建了一个张量。第 1 行导入了 PyTorch 库。第 2 行定义了一个名为 val 的二维列表。第 3 行将列表 val 转换为名为 ten 的张量。第 4 行打印张量 ten 的内容。图 5 也显示了脚本的输出。请注意,即使转换为张量 ten 后,列表 val 中的值仍保持不变。最后,第 5 行打印了张量 ten 的类型,其类型为 torch.Tensor

图 6 显示了一个用随机值生成张量的 Python 脚本。脚本的第 1 行使用方法 rand( ) 生成一个 3×3 矩阵,并将其存储在名为 random_tensor 的张量中。第 2 行打印张量 random_tensor 的内容。脚本的输出也如图 6 所示。请注意,由于我们使用 rand( ) 方法生成随机张量,因此每次迭代时张量的内容都会发生变化。最后,第 3 行显示 random_tensor 的类型也是 torch.Tensor。

人工智能:关于神经网络的更多信息以及 PyTorch 简介
图 6:随机张量
也可以将 NumPy 数组转换为 PyTorch 张量。第 1 行导入 NumPy。第 2 行创建一个二维 NumPy 数组,并将其存储在名为 val 的变量中。第 3 行打印 val 的类型。图 7 也显示了脚本的输出。可以看出,val 的类型是 numpy.ndarray(NumPy 数组)。第 4 行使用 from_numpy( ) 方法将数组 val 转换为 PyTorch 张量,并将其存储在名为 ten 的变量中。第 5 行打印变量 ten 的类型。注意 ten 的类型是 torch.Tensor。最后,第 6 行打印了张量 ten 的内容。张量 ten 中的值与数组 val 中的值相同。在本系列的下一篇讨论自然语言处理的文章中,我们将再次讨论 PyTorch。

人工智能:关于神经网络的更多信息以及 PyTorch 简介

图 7:数组到张量的转换
现在,是时候结束本文了。在本文中,我们对神经网络有了更多的直观认识。此外,我们还使用 scikit-learn 学习了更多关于无监督学习的知识。我们还与 PyTorch 进行了首次互动。在本系列有关人工智能和机器学习的下一篇文章中,我们将继续探索模型训练和神经网络。自然语言处理(NLP)是人工智能和机器学习的一个重要领域。不过,在本系列文章中,我们还没有讨论任何有关基于人工智能的 NLP 的内容。因此,在下一篇文章中,我们将讨论使用 PyTorch 的 NLP,并熟悉 NLTK(自然语言工具包),这是一个专门用于 NLP 的 Python 库。

转自 AI: More About Neural Networks and an Introduction to PyTorch (opensourceforu.com)

华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

Editor, Kai

快科技2月4日消息,在今年1月的鸿蒙生态千帆启航仪式上,华为HarmonyOS NEXT鸿蒙星河版正式面向开发者开放申请。

日前,“定焦数码”等多位数码博主表示,自己已经收到通过HarmonyOS NEXT开发者预览版Beta招募的审核短信。

华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

短信内容显示,预计2月下旬推送升级。

华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

华为还提醒开发者,提前做好数据备份,并严格遵守《保密协议》各项条款。

据悉,HarmonyOS NEXT开发者预览版在1月18日开始进行OTA推送,预计将在3月底之前推送完毕。

华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

由于将不再兼容安卓开源应用,仅支持鸿蒙内核和系统的应用,因此HarmonyOS NEXT开发者预览版也被称为“纯血鸿蒙”。

为何华为将HarmonyOS NEXT命名为“鸿蒙星河版”?其寓意是点点星光汇聚成璀璨星河,联手广大开发者来打造鸿蒙生态完全体。

按照官方计划,鸿蒙星河版将在2024年第二季度推出开发者Beta版,在2024年第四季度推出商用版。

商用版发布后,普通消费者将能体验到原生鸿蒙生态,值得期待。

【本文结束】如需转载请务必注明出处:快科技

责任编辑:拾柒

转自 华为鸿蒙星河版来了 华为提醒开发者2月下旬推送升级 注意保密!

基于纯 KDE Plasma 6 环境的 KaOS Linux 2024.01 发布

Editor, Kai

基于纯 KDE Plasma 6 环境的 KaOS Linux 2024.01 发布

在万众期待的 KDE Plasma 6 桌面环境于本月晚些时候推出之前,独立开发的 KaOS Linux 发行版背后的开发团队发布了一个新的 ISO 版本,为 2024 年拉开了序幕。

“你将在这个 ISO 中看到的是一个纯粹的 Plasma 6 环境。

KDE Plasma 6马上就要发布了,从2024年2月28日起,我们就能享受到它的新功能和改进,但KaOS Linux开发人员在他们受Arch Linux启发的发行版上走在了游戏的前面,他们今天发布了一个新的ISO,运行Plasma 6、Frameworks 6和KDE Gear 24.02的第二个候选发布(RC)版本。

开发人员说:”差不多 15 个月前,我们开始全面迁移到基于 Frameworks 6 和 Plasma 6 的发行版。”尽管如此,KaOS 已经在其发布的许多快照 ISO 中发布了所有从 Frameworks 6 分支移植的应用程序,为迁移做好准备。用户已经习惯于在 Frameworks 5 / Plasma 5 版本中看到的几乎所有应用程序都可以作为 Frameworks 6 / Plasma 6 的移植版本使用。
即使 Plasma 6 将于 2 月 28 日发布,大多数滚动发布的发行版(如 Arch Linux 或 openSUSE Tumbleweed)也需要一段时间才能将其打包并向用户推送大规模更新。不过,如果你等不及了,现在就可以下载并安装 KaOS Linux 2024.01,并在 2 月 28 日之前更新你的安装,率先运行 KDE Plasma 6。

如果你喜欢的应用程序还没有为 Plasma 6 做好准备,KaOS Linux 还附带了 KDE Frameworks 5,让你能在 KDE Plasma 6 环境中使用它们。另一方面,开发人员表示,依赖于 KDE Plasma 5 某些部分的应用程序将不会出现在 KaOS 软件仓库中,直到它们被移植并准备好供日常使用为止。
在引擎盖下,KaOS Linux 2024.01 版本采用了长期支持的 Linux 6.6 LTS 内核系列,并拥有各种更新组件,包括 FFmpeg 6、Boost 1.83.0/ICU 74.1 栈、LLVM/Clang 17.0.6、systemd 254.9、Python 3.10.13、Util-Linux 2.39.3、IWD 2.13、MariaDB 11 和 Postgresql 16。

Download KaOS 2024.01

转自 KaOS Linux 2024.01 Released with a Pure KDE Plasma 6-Based Environment – 9to5Linux

微软招募 Rust 开发者重写核心 C# 代码

Editor, Kai

微软招募 Rust 开发者重写核心 C# 代码

微软正在招募 Rust 开发者去重写核心 C# 代码。微软招募的职位隶属于 Microsoft 365 Core Platform 旗下的 Substrate App Platform 组,该组从事微软云服务的幕后工作。 微软称,它正在组建一个团队去现代化其平台服务。软件巨人早就表达了对 Rust 的兴趣,Windows 操作系统安全总监 David “dwizzle” Weston 去年初表示 Rust 代码已经进入了 Windows 内核。Rust 是一种高性能、内存安全语言,而软件项目的大部分漏洞都属于内存安全 bug。自 2006 年以来微软在 Windows 中修复的漏洞大约七成是内存安全漏洞。
https://www.theregister.com/2024/01/31/microsoft_seeks_rust_developers/?td=rt-3a

转自 https://www.solidot.org/story?sid=77276

LibreOffice 24.2 开放源码办公套件正式发布,新功能如下

Editor, Kai

LibreOffice 24.2 开放源码办公套件正式发布,新功能如下

文档基金会(Document Foundation)今天发布了 LibreOffice 24.2,作为这款流行、强大、开源、免费和跨平台办公套件的最新稳定版本,适用于 GNU/Linux、Android、macOS 和 Windows 系统。

LibreOffice 24.2 的亮点包括:基于日历的新版本编号方案(YY.M);默认情况下启用 “保存自动恢复 “信息以始终创建备份副本,从而降低丢失内容的风险;改进 NotebookBar 用户界面(如更好地支持打印预览);正确重置自定义布局;增强单选按钮的使用;支持插入特殊字符下拉列表以显示所选字符的说明。

LibreOffice 24.2 还引入了新的安全发布功能,如基于密码的新 ODF 加密(性能更好、元数据隐藏得更好、抗篡改和暴力破解能力更强)、”使用密码保存 “对话框中的密码强度计,以及围绕宏安全设置对选项对话框中的文本进行的澄清,以明确哪些是允许的,哪些是不允许的。

该版本还包含新的辅助功能,即在对话框中使用正确的辅助角色正确报告状态栏,以便屏幕阅读器可以找到并适当报告这些状态栏;使用空格键切换对话框中的复选框;更好地处理鼠标位置,以便屏幕阅读器正确显示鼠标位置;以及改进对 IAccessible2 角色和文本/对象属性的管理,以便屏幕阅读器正确显示这些角色和属性。
对于 LibreOffice Write,该版本引入了 “Legal “有序列表编号,使给定列表级别的所有数字部分都使用阿拉伯数字编号;引入了注释样式,默认情况下启用了注释段落样式,从而可以更轻松地一次性更改所有注释的格式,或对不同类型的注释进行可视化分类;还改进了多页浮动表格支持,如重叠控制、边框和脚注、嵌套、在所有页面上换行等。

对于 LibreOffice Calc,LibreOffice 24.2 版本在功能侧边栏增加了一个新的搜索字段,增加了对 ODF 中科学数字格式的支持,并引入了高亮显示活动单元格对应的行和列的功能。

对于 LibreOffice Impress 和 Draw,该版本增加了对处理 LibreOffice Impress 中小写字母的支持,将演示者控制台和远程控制设置从 “工具”>”选项”>”LibreOffice Impress “移到了 “幻灯片放映”>”幻灯片放映设置”,并增加了对模板的一些改进和修复,如更好地放置各种占位符、更一致的字体和格式、固定的幻灯片排序、固定的样式及其层次结构、改进的 ODF 合规性等。

由于 SVG OOXML 扩展支持导入 SVG 图像(svgBlip 元素)而不是后备 PNG,以及在使用旧版本 MS Office 创建的文档不支持 svgBlip 元素时,除了使用后备 PNG 图像外,还可导出 SVG 图像,因此与 MS Office 的互操作性在该版本中也得到了改进。
此外,LibreOffice Writer 通过使用现有页面样式中的首页属性而不是创建新的页面样式,改进了 OOXML 导入时的首页页眉和页脚;优化了日语文本模板,以提高日语用户与 MS Word 的互操作性;以及支持从 DOCX 文档导入 “绘图画布”。

“文档基金会表示:”LibreOffice 提供了办公套件市场上最高级别的兼容性,从对开放文档格式(ODF)的本地支持(ODF 在安全性和稳健性方面优于专有格式)到对 MS Office 文件的卓越支持,以及对各种传统文档格式的过滤。
LibreOffice 24.2 现在可以从官方网站下载,其二进制文件适用于 64 位 DEB 和基于 RPM 的发行版,如 Fedora Linux、Debian GNU/Linux、Ubuntu 等。当然,其他 GNU/Linux 发行版也可以下载源代码压缩包。

在 2024 年 11 月 30 日之前,该系列总共将支持七次维护更新。第一个维护版本 LibreOffice 24.2.1 预计将于二月底或三月初发布。在此之前,请留意您的 Linux 发行版的稳定软件仓库,以获取新的 LibreOffice 版本。

图片来源:The Document Foundation文档基金会

转自 LibreOffice 24.2 Open-Source Office Suite Officially Released, Here’s What’s New – 9to5Linux

Ubuntu Touch OTA-4 为 Linux 手机用户带来各种改进

Editor, Kai

 

UBports 基金会今天宣布 Ubuntu Touch OTA-4 for 20.04 正式发布并全面上市,这是 Ubuntu 基于隐私和尊重自由的移动操作系统的最新稳定版本,适用于智能手机和平板电脑。

Ubuntu Touch OTA-4 是在 Ubuntu Touch OTA-3 两个半月后推出的,是基于 Ubuntu 20.04 LTS(Focal Fossa)操作系统系列的第四个稳定更新。要更新设备,请进入系统设置 > 更新。

更新的亮点包括在设备锁定时隐藏通知内容(系统设置 > 安全和隐私 > 锁定和解锁 > 锁定时:> 隐藏通知内容)、在锁定屏幕上估算充电时间(系统设置 > 电池 > 在锁定屏幕上显示充电信息)以及为特定联系人指定铃声的功能(添加字段 > 铃声)。

此外,Ubuntu Touch OTA-4 更新还在 “系统设置”>”背景与外观 “中新增了一个切换开关,让你无需使用额外的应用程序就能更改主题。不过,你应该记住,你必须重启应用程序才能使更改生效。
Ubuntu Touch OTA-4 还修复了应用程序指定自定义振动模式的功能,提高了蓝牙耳机语音通话的可靠性,改善了双击唤醒设置在重启时的持续性,改善了对 Waydroid 用户的摄像头支持,并更新了条形码阅读器应用程序,使其不再显示 “存储空间不足 “的警告。

此外,它还修复了某些网站的 “用谷歌登录 “问题,并支持需要弹出式窗口的网站上的类似功能,改进了移动数据连接,使其在结束通话后立即重新启用,系统设置应用在多个页面的布局方面进行了多项改进,增加了删除自定义背景图片的功能,并增加了调整 Lomiri 边缘手势灵敏度的功能。

“如果你在设备上安装了保护套或保险杠,现在可以增加边缘区域的宽度,这样从边框向屏幕中心轻扫就会变得更容易。或者你觉得它太敏感,现在也可以减少它。新设置可在 “系统设置” > “手势 “中找到。目前只有在支持双击唤醒的设备上才能看到。
最后但并非最不重要的是,通过 Ubuntu Touch OTA-4 软件更新,用户终于可以使用设备上的实体照相机按钮拍照了。该版本还包含各种安全和漏洞修复,详情请查看发布公告。

Ubuntu Touch OTA-4 现已向所有支持的设备推出,包括华硕 Zenfone Max Pro M1、Pro1-X、Fairphone 3、Fairphone 3+、Fairphone 4、Google Pixel 3a、Google Pixel 3a XL、JingPad A1、OnePlus 5、OnePlus 5T、OnePlus 6、OnePlus 6T、PinePhone、PinePhone Pro、PineTab、PineTab2、索尼 Xperia X、Vollaphone、Vollaphone X、Vollaphone 22、Vollaphone X23、小米 Poco M2 Pro、小米 Poco X3 NFC / X3、小米红米 Note 9、小米红米 Note 9 Pro、小米红米 Note 9 Pro Max 和小米红米 Note 9S 设备。
图片来源:UBports FoundationUBports Foundation(由 Marius Nestor 编辑)

转自 Ubuntu Touch OTA-4 Rolls Out to Linux Phone Users with Various Improvements – 9to5Linux

AMD Zen5铺天盖地来了!主流APU 4大4小8核心

Editor, Kai

快科技1月26日消息,根据最新曝料,AMD有可能在明年初发布的主流型移动APU Kraken Point,也会采用Zen5、Zen5c的“大小核”组合,都是最多4个核心,总计最多8核心。

在此前的曝料图上,Kraken Point的规格只标注了Zen5架构、最多8个核心,没有提及是否同时会有Zen5c,如今终于明确了,4+4 8核心的设计也非常适合主流市场。

当然了,不同于Intel的异构大小核,AMD这种大小核是完全相同的架构,c版本仅仅是精简一部分三级缓存,降低一些频率,差异很小。

AMD Zen5铺天盖地来了!主流APU 4大4小8核心

此外,Kraken Point还会升级到RDNA3.5 GPU架构、XDNA2 NPU架构,制造工艺4nm。

后续,它也应该会延伸到桌面上,类似现在的移动版锐龙7040系列变成锐龙8000G,但命名肯定将会是锐龙9000G。

AMD Zen5铺天盖地来了!主流APU 4大4小8核心

因为各种原因,AMD Zen5架构产品并不急着出,但该来的总会来,看规格设计也不弱,而且从上到下产品线非常齐全,包括旗舰级的Fire Range、高端的Strix Halo/Strix Point、主流的Kraken Point。

它们全都是4nm工艺、Zen5 CPU架构,后三者都是RDNA3.5 GPU架构、XDNA2 NPU架构,而前者来源于桌面版锐龙8000系列,估计还会用2个单元的RDNA2 GPU,没有NPU。

低端和入门级市场继续使用老架构,Escher就是现在Pheonix/Hawk Point的又一层马甲,4nm、Zen4、RDNA3、XDNA的组合。

6nm、Zen3、RDNA2组合的Rmebrant-R再次下放,而最低端还是6nm、Zen2、RDNA2组合的Mendocino。

AMD Zen5铺天盖地来了!主流APU 4大4小8核心

AMD Zen5铺天盖地来了!主流APU 4大4小8核心

【本文结束】如需转载请务必注明出处:快科技

责任编辑:上方文Q

转自 https://news.mydrivers.com/1/960/960648.htm