当前位置: 首页 > news >正文

【C#生态园】发现C#中的数据科学魔法:6款不可错过的库详解

探索C#中的数据科学与机器学习:6个强大库解析

前言

在数据科学和机器学习领域,Python一直占据着主导地位,然而对于习惯使用C#编程语言的开发人员来说,寻找适用于C#的数据科学库一直是一个挑战。本文将介绍几个流行的用于C#的数据科学库,以及它们的核心功能、安装配置和API概览,帮助C#开发者更好地利用这些库进行数据分析和机器学习任务。

欢迎订阅专栏:C#生态园

文章目录

  • 探索C#中的数据科学与机器学习:6个强大库解析
    • 前言
    • 1. MathNet.Numerics:一个用于C#的数据科学库
      • 1.1 简介
        • 1.1.1 核心功能
        • 1.1.2 使用场景
      • 1.2 安装与配置
        • 1.2.1 安装指南
        • 1.2.2 基本配置
      • 1.3 API 概览
        • 1.3.1 数学运算
        • 1.3.2 统计分析
    • 2. Accord.NET:一个用于C#的数据科学库
      • 2.1 简介
        • 2.1.1 核心功能
        • 2.1.2 使用场景
      • 2.2 安装与配置
        • 2.2.1 安装方法
        • 2.2.2 基本设置
      • 2.3 API 概览
        • 2.3.1 机器学习算法
        • 2.3.2 图像处理功能
    • 3. ML.NET:一个用于C#的机器学习库
      • 3.1 简介
        • 3.1.1 核心功能
        • 3.1.2 使用场景
      • 3.2 安装与配置
        • 3.2.1 安装指南
        • 3.2.2 初始设置
      • 3.3 API 概览
        • 3.3.1 模型训练
        • 3.3.2 预测功能
    • 4. Deedle:一个用于C#的数据探索和分析库
      • 4.1 简介
        • 4.1.1 核心功能
        • 4.1.2 使用场景
      • 4.2 安装与配置
        • 4.2.1 安装指导
        • 4.2.2 基本配置
      • 4.3 API 概览
        • 4.3.1 数据框操作
        • 4.3.2 时间序列分析
    • 5. CNTK:Microsoft Cognitive Toolkit,用于深度学习的开源工具包
      • 5.1 简介
        • 5.1.1 核心功能
        • 5.1.2 使用场景
      • 5.2 安装与配置
        • 5.2.1 安装指南
        • 5.2.2 基本设置
      • 5.3 API 概览
        • 5.3.1 神经网络构建
        • 5.3.2 深度学习模型训练
    • 6. NumSharp:一个用于C#的多维数组和数值计算库
      • 6.1 简介
        • 6.1.1 核心功能
        • 6.1.2 使用场景
      • 6.2 安装与配置
        • 6.2.1 安装方法
        • 6.2.2 基本设置
      • 6.3 API 概览
        • 6.3.1 多维数组操作
        • 6.3.2 数值计算函数
    • 总结

1. MathNet.Numerics:一个用于C#的数据科学库

1.1 简介

MathNet.Numerics 是一个开源的、高性能的数学与统计分析库,适用于 C# 和其他 .NET 平台。它提供了丰富的数学函数和算法,使得在 C# 中进行数据科学和统计分析变得更加便捷和高效。

1.1.1 核心功能

MathNet.Numerics 提供了包括线性代数、统计分析、插值、积分、优化等多个方面的数学函数和算法。它还支持复数、矩阵、向量等基本数学结构的操作,以及随机数生成、线性回归、傅里叶变换等高级功能。

1.1.2 使用场景

MathNet.Numerics 可以应用于数据科学、工程计算、物理建模、金融分析等领域。无论是进行数值计算、统计分析还是机器学习模型的实现,MathNet.Numerics 都可以发挥重要作用。

1.2 安装与配置

1.2.1 安装指南

使用 NuGet 包管理器可以轻松地将 MathNet.Numerics 集成到项目中。在 Visual Studio 中打开 NuGet 包管理器控制台,并执行以下命令来安装 MathNet.Numerics:

Install-Package MathNet.Numerics
1.2.2 基本配置

安装完成后,只需在需要使用 MathNet.Numerics 的文件中引入相应的命名空间即可开始使用其功能:

using MathNet.Numerics;
using MathNet.Numerics.LinearAlgebra;
// 其他所需的命名空间

1.3 API 概览

1.3.1 数学运算

MathNet.Numerics 提供了大量常用的数学运算函数,例如对数、三角函数、指数函数等。下面是一个简单的示例展示如何使用 MathNet.Numerics 进行数学运算:

using System;
using MathNet.Numerics;class Program
{static void Main(){// 计算正弦函数double result = Math.Sin(0.5);Console.WriteLine($"Sin(0.5) = {result}");// 计算自然对数double logResult = Math.Log(10);Console.WriteLine($"Log(10) = {logResult}");}
}

更多数学运算函数的详细信息可以参考 MathNet.Numerics 文档。

1.3.2 统计分析

除了基本数学运算外,MathNet.Numerics 还提供了丰富的统计分析功能,包括描述性统计、假设检验、回归分析等。下面是一个简单的示例展示如何使用 MathNet.Numerics 进行统计分析:

using System;
using MathNet.Numerics.Statistics;class Program
{static void Main(){// 创建样本数据double[] data = { 1.1, 2.2, 3.3, 4.4, 5.5 };// 计算均值和标准差double mean = data.Mean();double stdDev = data.StandardDeviation();Console.WriteLine($"Mean: {mean}, Standard Deviation: {stdDev}");}
}

更多统计分析函数的详细信息可以参考 MathNet.Numerics.Statistics 文档。

2. Accord.NET:一个用于C#的数据科学库

2.1 简介

Accord.NET是一个专为C#开发者设计的数据科学库,提供了丰富的机器学习算法和图像处理功能。它的设计目标是为.NET平台提供一个全面且易于使用的工具包,以支持数据科学和机器学习应用的开发。

2.1.1 核心功能

Accord.NET提供了许多核心功能,包括但不限于:

  • 统计分析
  • 人工智能
  • 机器学习
  • 图像处理
  • 数字信号处理
2.1.2 使用场景

Accord.NET可以应用于各种场景,如:

  • 数据挖掘
  • 自然语言处理
  • 计算机视觉
  • 医学图像分析
  • 金融预测

2.2 安装与配置

2.2.1 安装方法

Accord.NET可以通过NuGet包管理器来安装。在Visual Studio中,打开NuGet包管理器控制台并执行以下命令:

Install-Package Accord -Version 3.8.0
2.2.2 基本设置

安装完成后,在项目中引入Accord命名空间即可开始使用相关功能。

2.3 API 概览

2.3.1 机器学习算法

Accord.NET提供了众多经典的机器学习算法,例如决策树、K最近邻、线性回归等。下面是一个简单的示例,展示如何使用Accord.NET构建并训练一个决策树分类器:

// 创建决策树分类器
var tree = new DecisionTree();// 定义训练数据
double[][] inputs =
{new double[] {0, 0},new double[] {1, 1},new double[] {1, 0},new double[] {0, 1},
};
int[] outputs = { 0, 1, 1, 0 };// 训练分类器
tree.Learn(inputs, outputs);

官网链接:Accord.NET - Machine Learning

2.3.2 图像处理功能

Accord.NET也提供了丰富的图像处理功能,包括滤波、边缘检测、特征提取等。以下是一个简单的示例,展示如何使用Accord.NET对图像进行高斯模糊处理:

// 读取图像
Bitmap image = new Bitmap("input.jpg");// 创建滤波器并对图像进行处理
var filter = new GaussianBlur(4);
Bitmap blurredImage = filter.Apply(image);

官网链接:Accord.NET - Image Processing

3. ML.NET:一个用于C#的机器学习库

3.1 简介

ML.NET是一个开源的机器学习框架,可以在C#和F#中进行机器学习模型的训练、评估和预测。它是微软开发的一个跨平台的机器学习框架,可用于构建自定义机器学习模型。

3.1.1 核心功能

ML.NET提供了丰富的功能,包括数据处理、特征工程、模型训练和预测等。它还支持各种常见的机器学习任务,如分类、回归和聚类等。

3.1.2 使用场景

ML.NET适用于需要在C#环境下进行机器学习的场景,比如开发.NET应用程序中的预测功能、模式识别、推荐系统等。

3.2 安装与配置

3.2.1 安装指南

要使用ML.NET,首先需要安装相应的NuGet包。可以通过Visual Studio的NuGet包管理器搜索并安装“Microsoft.ML”包来添加ML.NET到项目中。

// 使用 NuGet 包管理器安装 Microsoft.ML
Install-Package Microsoft.ML

详细的安装指南可以查看ML.NET官方文档

3.2.2 初始设置

安装完毕后,在项目中引入using Microsoft.ML;语句来使用ML.NET相关的功能。

using Microsoft.ML;

3.3 API 概览

3.3.1 模型训练

ML.NET提供了丰富的API来进行模型训练,其中包括数据加载、数据预处理、特征工程和模型训练等步骤。以下是一个简单的线性回归模型训练示例:

// 创建一个ML.NET上下文
var mlContext = new MLContext();// 加载数据集
IDataView data = mlContext.Data.LoadFromTextFile<MyInputData>("./input.csv", hasHeader: true, separatorChar: ',');// 数据预处理
var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "Feature1", "Feature2" }).Append(mlContext.Transforms.NormalizeMinMax("Features")).Append(mlContext.Transforms.Conversion.MapValueToKey("Label"));// 训练模型
var model = pipeline.Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Label", maximumNumberOfIterations: 100)).Fit(data);
3.3.2 预测功能

使用训练好的模型进行预测同样非常简单,ML.NET提供了便利的API来进行预测操作。以下是一个使用训练好的线性回归模型进行预测的示例:

// 准备预测数据
var sampleData = new MyInputData() { Feature1 = 0.2f, Feature2 = 0.5f };// 进行预测
var prediction = mlContext.Model.CreatePredictionEngine<MyInputData, MyOutputData>(model).Predict(sampleData);Console.WriteLine($"预测结果: {prediction.PredictedLabel}");

以上是一个简单的ML.NET使用示例,更多API的详细说明可以参考ML.NET官方文档

4. Deedle:一个用于C#的数据探索和分析库

4.1 简介

Deedle 是一个专为 C# 开发的数据探索和分析库,旨在提供丰富的数据操作和分析功能,使得 C# 开发者能够更轻松地进行数据处理、探索和分析工作。

4.1.1 核心功能

Deedle 提供了丰富的功能,包括但不限于:

  • 强大的数据框操作
  • 时间序列分析
  • 数据可视化
  • 数据清洗和预处理等
4.1.2 使用场景

Deedle 适用于需要在 C# 环境下进行数据分析和探索的场景,比如金融领域的量化分析、科学实验数据处理、企业数据报表生成等领域。

4.2 安装与配置

4.2.1 安装指导

使用 NuGet 包管理器可以很容易地安装 Deedle 库。在 Visual Studio 中,打开 NuGet 包管理器控制台,并执行以下命令:

Install-Package Deedle
4.2.2 基本配置

安装完成后,可以通过引入 Deedle 命名空间来开始使用该库:

using Deedle;

4.3 API 概览

4.3.1 数据框操作

Deedle 提供了丰富的数据框操作方法,例如创建数据框、合并数据框、筛选数据等。下面是一个简单的示例:

// 创建数据框
var data = Frame.FromColumns(new Series<int, string>[] {new Series<int, string>(new int[] { 1, 2, 3 }, new string[] { "A", "B", "C" }),new Series<int, string>(new int[] { 4, 5, 6 }, new string[] { "D", "E", "F" })
}, columnKeys: new string[] { "Col1", "Col2" });// 显示数据框
Console.WriteLine(data.Print());

官网链接:Deedle 数据框操作

4.3.2 时间序列分析

Deedle 提供了丰富的时间序列分析方法,能够方便地处理时间序列数据。下面是一个简单的示例:

// 创建时间序列
var series = new Series<int, double>(new int[] { 1, 2, 3 }, new double[] { 10.0, 20.0, 30.0 });// 计算均值
var mean = series.Mean();// 显示均值
Console.WriteLine(mean);

官网链接:Deedle 时间序列分析

5. CNTK:Microsoft Cognitive Toolkit,用于深度学习的开源工具包

5.1 简介

CNTK(Microsoft Cognitive Toolkit)是微软开发的一个用于深度学习的开源工具包。它提供了高效的计算性能和灵活的架构,适用于构建各种深度学习模型。

5.1.1 核心功能

CNTK的核心功能包括:

  • 高性能计算:CNTK使用多GPU和多机器并行计算,以加快模型训练和推断。
  • 灵活的架构:支持不同类型的神经网络,包括卷积神经网络(CNN)、循环神经网络(RNN)等。
  • 分布式培训:可以在多台机器上分布式训练大规模模型。
  • 跨平台支持:支持Windows、Linux等操作系统。
5.1.2 使用场景

CNTK适用于以下场景:

  • 图像识别:用于识别和分类图像中的对象。
  • 语音识别:通过深度学习技术实现自然语言处理和语音识别。
  • 推荐系统:构建个性化推荐算法和模型。

5.2 安装与配置

安装CNTK可以参考官方文档提供的安装指南。基本设置主要涉及配置环境变量等内容。

5.2.1 安装指南

在Windows环境下,可以使用pip命令进行安装:

pip install cntk

在Linux环境下,可以按照官方文档提供的步骤进行安装。

5.2.2 基本设置

安装完成后,需要配置相应的环境变量,以便正确调用CNTK的库文件。

5.3 API 概览

CNTK提供了丰富的API,用于构建和训练深度学习模型。

5.3.1 神经网络构建

CNTK可以通过Python或C#等编程语言来构建神经网络。以下是一个使用Python的简单示例:

import cntk as C# 定义输入维度
input_dim = 784
# 定义输出维度
output_dim = 10# 定义输入变量
input_var = C.input_variable(input_dim)
# 定义输出变量
label_var = C.input_variable(output_dim)# 定义网络结构
hidden_layer = C.layers.Dense(100, activation=C.relu)(input_var)
output_layer = C.layers.Dense(output_dim, activation=None)(hidden_layer)# 定义损失函数
loss = C.cross_entropy_with_softmax(output_layer, label_var)# 其他网络设置和训练过程...
5.3.2 深度学习模型训练

CNTK支持通过反向传播算法进行深度学习模型的训练。以下是一个简单的C#示例代码:

using CNTK;// 定义输入维度
const int inputDim = 784;
// 定义输出维度
const int numOutputClasses = 10;// 定义输入变量
var inputVar = Variable.InputVariable(new int[] { inputDim }, DataType.Float);
// 定义标签变量
var labelVar = Variable.InputVariable(new int[] { numOutputClasses }, DataType.Float);// 定义网络结构
Function network = ...
// 定义损失函数
Function loss = CNTKLib.CrossEntropyWithSoftmax(network.Output, labelVar);
// 定义优化器
Trainer trainer = ...// 模型训练过程...

以上是

6. NumSharp:一个用于C#的多维数组和数值计算库

NumSharp 是一个用于 C# 的多维数组和数值计算库,它提供了丰富的数学函数和操作多维数组的功能。在数据科学和机器学习领域中,NumSharp 可以帮助开发人员进行高效的数值计算和数据处理。

6.1 简介

6.1.1 核心功能

NumSharp 提供了以下核心功能:

  • 多维数组操作
  • 数值计算函数

这些功能使得 NumSharp 成为 C# 中数据科学和机器学习任务的重要工具之一。

6.1.2 使用场景

NumSharp 可以广泛应用于以下领域:

  • 数据分析与处理
  • 机器学习模型的实现
  • 数值计算

由于其强大的数值计算功能,NumSharp 在工程技术和科学计算等领域也有着广泛的应用。

6.2 安装与配置

6.2.1 安装方法

可以通过 NuGet 包管理器来安装 NumSharp 库,或者在 Visual Studio 中使用程序包管理控制台执行以下命令进行安装:

Install-Package NumSharp
6.2.2 基本设置

在使用 NumSharp 之前,需要将其引入项目中:

using NumSharp;

6.3 API 概览

6.3.1 多维数组操作

NumSharp 提供了丰富的多维数组操作方法,如创建数组、索引访问、切片、重塑等。以下是一个简单的示例,演示了如何创建一个二维数组并对其进行操作:

var nd = new NDArray(new int[,] {{1, 2}, {3, 4}});
Console.WriteLine(nd);
Console.WriteLine(nd[0, 1]); // 输出:2

更多关于多维数组的操作方法,可以参考 NumSharp 多维数组文档

6.3.2 数值计算函数

除了多维数组操作外,NumSharp 还提供了众多数值计算函数,如求和、均值、最大值、最小值等。下面是一个简单的示例,展示了如何使用 NumSharp 计算数组的均值:

var nd = new NDArray(new int[] {1, 2, 3, 4, 5});
Console.WriteLine(nd.mean()); // 输出:3.0

更多关于数值计算函数的详细信息,可以参考 NumSharp 数值计算文档

通过以上示例,我们可以看到 NumSharp 在 C# 中提供了丰富而强大的多维数组和数值计算功能,为数据科学和机器学习领域的开发人员提供了便利。

总结

本文介绍了六个用于C#的数据科学库,包括MathNet.Numerics、Accord.NET、ML.NET、Deedle、CNTK和NumSharp。这些库分别涵盖了数学运算、统计分析、机器学习算法、图像处理、模型训练、深度学习模型构建、多维数组操作和数值计算等领域。无论是进行数据探索和分析,还是进行复杂的机器学习任务,都能在这些库中找到相应的工具和支持。C#开发者可以根据自己的需求和项目特点选择合适的库,充分发挥数据科学和机器学习的能力。

相关文章:

【C#生态园】发现C#中的数据科学魔法:6款不可错过的库详解

探索C#中的数据科学与机器学习&#xff1a;6个强大库解析 前言 在数据科学和机器学习领域&#xff0c;Python一直占据着主导地位&#xff0c;然而对于习惯使用C#编程语言的开发人员来说&#xff0c;寻找适用于C#的数据科学库一直是一个挑战。本文将介绍几个流行的用于C#的数据…...

导入neo4j数据CSV文件及csv整理demo示例

Neo4j导入CSV文件&#xff08;实体和关系&#xff09;_neo4j导入csv关系-CSDN博客 https://blog.csdn.net/m0_69483514/article/details/131296060?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ER…...

bug | pycharm社区版无sciview解决办法

一个程序运行多个图&#xff0c;plt.show()一次只弹出一个独立窗口&#xff0c;必须关掉一个才能显示下一张图&#xff0c;想找sciview却发现找不到&#xff0c;本来以为是新版pycharm的问题&#xff0c;后来才发现是community版根本没有sciview…不想换专业版了&#xff0c;研…...

PL/SQL程序设计入门

PL/SQL程序设计 PL/SQL起步鼻祖&#xff1a;hello World语法分析声明部分举例 应用举例 PL/SQL 起步鼻祖&#xff1a;hello World 先举个例子&#xff0c;用PL/SQL打印输出hello world declarev_string varchar2(20); beginv_string:hello world;dbms_output.put_line(v_str…...

一、Numpy入门

Numpy入门 前言一、numpy简介二、Numpy的ndarray属性2.1. 直接用 .属性的方法实现2.2. 直接函数的方法实现 三、Numpy的ndarray的创建3.1. ndarray介绍3.2. 数组形式3.3. zeros()、ones() 、 empty()3.4. arange()&#xff0c;类似 python 的 range() &#xff0c;创建一个一维…...

自动化测试框架设计核心理念——关键字驱动

很多人在接触自动化测试时&#xff0c;都会听到关键字驱动这样的一个概念&#xff0c;但是在研究时却有些不太清楚这种驱动模式的设计及实现到底该如何着手去做。 关键字驱动&#xff0c;作为一种自动化测试框架的设计形式&#xff0c;在很早的时候就已经有提及过了。它的基本…...

GO GIN SSE DEMO

文章目录 接口描述&#xff1a;1.1 /events/time - 时间流1.2 /events/numbers - 数字流 2. 用户管理接口2.1 /user/:id - 获取用户信息2.2 /user - 创建用户 项目结构1. main.go2. 创建 handlers/event_time.go3. 创建 handlers/event_number.go4. handlers/user.go5. 运行服务…...

GEE教程:1950-2023年ECMWF数据中积雪的长时序统计分析

目录 简介 数据 函数 millis() Arguments: Returns: Long 代码 结果 简介 1950-2023年ECMWF数据中积雪的长时序统计分析 数据 ECMWF/ERA5_LAND/DAILY_AGGR是由欧洲中期天气预报中心(ECMWF)提供的数据集。它是一个格网数据集,包含从ERA5-Land再分析数据集中得出的…...

【React Native】路由和导航

RN 中的路由是通过 React Navigation 组件来完成的 Stack 路由导航RN 中默认没有类似浏览器的 history 对象在 RN 中路由跳转之前&#xff0c;需要先将路由声明在 Stack 中<Stack.Navigator initialRouteNameDetails> <Stack.Screen nameDetails /> </Stack.N…...

Linux环境基础开发工具---vim

1.快速的介绍一下vim vim是一款多模式的编辑器&#xff0c;里面有很多子命令&#xff0c;来实现代码编写操作。 2.vim的模式 vim一共有三种模式&#xff1a;底行模式&#xff0c;命令模式&#xff0c;插入模式。 2.1vim模式之间的切换 2.2 谈论常见的模式---命令模式&#xf…...

python AssertionError: Torch not compiled with CUDA enabled

查看&#xff1a;torch import torch# 输出带CPU&#xff0c;表示torch是CPU版本的 print(ftorch的版本是&#xff1a;{torch.__version__}) # print(ftorch是否能使用cuda&#xff1a;{torch.cuda.is_available()}) 修改一下代码&#xff0c;将cuda改成cpu 最后运行正常&…...

Pandas的入门操作-Series对象

Pandas的数据结构 Series对象 class pandas.Series(dataNone, indexNone) data参数 含义&#xff1a;data是Series构造函数中最主要的参数&#xff0c;它用来指定要存储在Series中的数据。 数据类型&#xff1a;data可以是多种数据类型&#xff0c;例如&#xff1a; Python 列…...

自然语言处理系列六十八》搜索引擎项目实战》搜索引擎系统架构设计

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十八搜索引擎项目实战》搜索引擎系统架构设计…...

H5依赖安装

依赖安装 git和sourceTree编辑器使用vscode下载nvm 和nodejs git和sourceTree 使用 ssh-keygen -t rsa 进行密钥获取 git下载地址&#xff1a;https://git-scm.com/ sourceTree下载地址&#xff1a;https://www.sourcetreeapp.com/ 编辑器使用vscode 最新版网址&#xff1a;…...

MatchRFG:引领MemeCoin潮流,探索无限增长潜力

Meme币无疑是本轮牛市最热闹的赛道&#xff0c;而围绕Meme币的讨论话题基本都集中在价格炒作上。似乎人们习惯性地认为&#xff0c;Meme币的创造和成长往往与真正的价值无关。热炒过后&#xff0c;价格能否通过共识转化为价值&#xff0c;也正是许多Meme币在热潮冷却后的主要成…...

2024/9/18 模型的存储与读取

一、模型的存储与读取 主要涉及到torch.save和torch.load函数 新建两个python文件&#xff1a; 1.在model_save文件中保存模型(方式一)和模型参数(方式二) 2.在model_load文件中读取模型(方式一)和模型参数并装载模型(方式二)...

在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机

在fnOS系统上安装 KVM 虚拟化&#xff0c;并使用 Cockpit 进行网页管理&#xff0c;可以按照以下步骤进行&#xff1a; 1. 安装 KVM虚拟化组件 首先&#xff0c;更新软件列表和系统包&#xff1a; sudo apt update && sudo apt upgrade -y 安装 KVM 及相关工具软件&…...

VUE实现刻度尺进度条

一、如下图所示效果&#xff1a; 运行后入下图所示效果&#xff1a; 实现原理是用div画图并动态改变进度&#xff0c; 二、div源码 <div style"width: 100%;"><div class"sdg_title" style"height: 35px;"><!--对话组[{{ dialo…...

ZYNQ FPGA自学笔记~点亮LED

一 ZYNQ FPGA简介 ZYNQ FPGA主要特点是包含了完整的ARM处理系统&#xff0c;内部包含了内存控制器和大量的外设&#xff0c;且可独立于可编程逻辑单元&#xff0c;下图中的ARM内核为 ARM Cortex™-A9&#xff0c;ZYNQ FPGA包含两大功能块&#xff0c;处理系统Processing System…...

攻击者如何在日常网络资源中隐藏恶意软件

近二十年来&#xff0c;安全 Web 网关 (SWG) 一直在监控网络流量&#xff0c;以检测恶意软件、阻止恶意网站并保护企业免受基于 Web 的威胁。 然而&#xff0c;攻击者已经找到了许多绕过这些防御措施的方法&#xff0c;SquareX的安全研究人员对此进行了记录。 最危险的策略之…...

《深度学习》深度学习 框架、流程解析、动态展示及推导

目录 一、深度学习 1、什么是深度学习 2、特点 3、神经网络构造 1&#xff09;单层神经元 • 推导 • 示例 2&#xff09;多层神经网络 3&#xff09;小结 4、感知器 神经网络的本质 5、多层感知器 6、动态图像示例 1&#xff09;一个神经元 相当于下列状态&…...

“中秋快乐”文字横幅的MATLAB代码生成

中秋快乐呀朋友们&#xff01;&#xff01;&#xff01; 给大家带来一个好玩的代码&#xff0c;能够生成“中秋快乐”的横幅文字&#xff0c;比较简单&#xff0c;当然你也可以根据自己的需求去更改文字和背景&#xff0c;废话不多说&#xff0c;直接展示。 文字会一直闪烁&…...

【Node.js】RabbitMQ 延时消息

概述 在 RabbitMQ 中实现延迟消息通常需要借助插件&#xff08;如 RabbitMQ 延迟队列插件&#xff09;&#xff0c;因为 RabbitMQ 本身不原生支持延迟消息。 延迟消息的一个典型场景是&#xff0c;当消息发布到队列后&#xff0c;等待一段时间再由消费者消费。这可以通过配置…...

前后端分离Vue美容店会员信息管理系统o7grs

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取 技术栈介绍 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xff0c;本选题是学生所学专业知识的延续&#xff0c;符合…...

初学Linux(学习笔记)

初学Linux&#xff08;学习笔记&#xff09; 前言 本文跳过了Linux前期的环境准备&#xff0c;直接从知识点和指令开始。 知识点&#xff1a; 1.目录文件夹&#xff08;Windows&#xff09; 2.文件内容属性 3.在Windows当中区分文件类型是通过后缀&#xff0c;而Linux是通过…...

新增的标准流程

同样的新增的话我们也是分成两种&#xff0c; 共同点&#xff1a; 返回值都是只需要一个Result.success就可以了 接受前端的格式都是json格式&#xff0c;所以需要requestbody 1.不需要连接其他表的 传统方法&#xff0c;在service层把各种数据拼接给new出来的employee从…...

WebSocket 协议

原文地址&#xff1a;xupengboo WebSocket WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 在 WebSocket API 中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直接可以创建持久性的连接&#xff0c;并进行双向数据传输。…...

[mysql]mysql排序和分页

#排序和分页本身是两块内容,因为都比较简单,我们就把它分到通一个内容里. #1排序: SELECT * FROM employees #我们会发现,我们没有做排序操作,但是最后出来的107条结果还是会按顺序发出,而且是每次都一样.这我们就有一个疑惑了,现在我们的数据库是根据什么来排序的,在我们没有进…...

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要&#xff1a;本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下&#xff0c;全渠道供应的运行机制。阐述各环节企业相互配合的重要性&#xff0c;重点分析零售企业在其中的关键作用&#xff0c;包括协调工作、信息传递、需求把握等方面&#xff0c;旨在实现高效的全…...

一次渲染十万条数据:前端技术优化(上)

今天看了一篇文章&#xff0c;写的是一次性渲染十万条数据的方法&#xff0c;本文内容是对这篇文章的学习总结&#xff0c;以及知识点补充。 在现代Web应用中&#xff0c;前端经常需要处理大量的数据展示&#xff0c;例如用户评论、商品列表等。直接渲染大量数据会导致浏览器性…...