机器学习基础

 

引言

机器学习是人工智能的一个重要分支,它正在推动着我们社会的各个方面进行数字化转型,从电子商务、医疗健康、社交媒体到自动驾驶等领域。本文旨在帮助你理解机器学习的基本概念,包括其定义、主要类型、基本术语,以及常见的算法。让我们开始吧。


目录

引言

1.什么是机器学习

历史和发展

现实世界的应用

2.机器学习的主要类型

1. 监督学习 (Supervised Learning)

2. 无监督学习 (Unsupervised Learning)

3. 半监督学习 (Semi-supervised Learning)

4. 强化学习 (Reinforcement Learning)

3. 机器学习的基本术语

1. 特征 (Feature)

2. 标签 (Label)

3. 模型 (Model)

4. 训练与测试

5. 过拟合与欠拟合 (Overfitting & Underfitting)

6. 交叉验证 (Cross Validation)

7. 精度、召回率和F1分数 (Precision, Recall, F1 Score)

4.常见的机器学习算法

1. 线性回归 (Linear Regression)

2. 逻辑回归 (Logistic Regression)

3. 决策树 (Decision Tree)

4. 支持向量机 (Support Vector Machine)

5. 随机森林 (Random Forest)

6. K最近邻 (K-Nearest Neighbors)

7. 梯度提升 (Gradient Boosting)

5.常见的机器学习流程

1. 数据收集

2. 数据预处理

3. 特征选择

4. 模型训练

**5. 模型评估和优化**

6. 模型部署


1.什么是机器学习

机器学习是人工智能的一个子集,它使用统计方法使计算机系统能从数据中“学习”,并不断改进其表现,而无需显式编程。换句话说,机器学习是让机器能够从经验中学习。

历史和发展

机器学习的概念可以追溯到20世纪50年代。早期的机器学习研究主要基于符号主义的方法,即通过逻辑规则和概念模型来表示知识。然而,这种方法在处理模糊性和不确定性的问题时遇到了困难。到了20世纪80年代和90年代,随着统计学习理论的发展,机器学习的研究焦点转向了基于数据的统计方法。近年来,随着大数据和计算能力的增强,深度学习等复杂的机器学习模型开始流行起来,大大提高了各种任务的性能。

现实世界的应用

在现实世界中,机器学习已经被广泛应用于各种场景。例如,电子商务公司使用机器学习来预测用户的购买行为,提高产品推荐的准确性;医疗机构使用机器学习来分析患者的医疗记录,预测疾病的风险;自动驾驶汽车使用机器学习来识别交通标志和其他车辆,使得驾驶更加安全。这些只是机器学习众多应用的冰山一角,未来还有更多可能性等待我们去探索。

2.机器学习的主要类型

机器学习的方法大致可以分为四类:监督学习、无监督学习、半监督学习和强化学习。

1. 监督学习 (Supervised Learning)

监督学习是最常见的机器学习类型,它使用带标签的数据进行训练。在这种情况下,"标签"是指我们希望模型预测的目标变量。例如,如果我们正在训练一个模型来预测房价,那么每个训练样本都会有一个对应的房价标签。常见的监督学习任务有分类(如垃圾邮件检测)和回归(如房价预测)。

以下是一个监督学习的例子,使用 Python 的 Scikit-learn 库训练一个线性回归模型:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# 假设 X 是特征,y 是目标变量
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

2. 无监督学习 (Unsupervised Learning)

与监督学习不同,无监督学习使用的是未标记的数据进行训练。因为数据没有标签,无监督学习的目标通常是发现数据中的隐藏结构或模式。常见的无监督学习任务有聚类(如客户分群)、降维(如主成分分析 PCA)和关联规则学习(如市场篮子分析)。

以下是一个无监督学习的例子,使用 Scikit-learn 库训练一个 K-means 聚类模型:

from sklearn.cluster import KMeans

# 假设 X 是特征
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)

labels = kmeans.labels_

3. 半监督学习 (Semi-supervised Learning)

半监督学习是监督学习和无监督学习的混合。它使用部分标签的数据进行训练,通常在标签数据稀缺但未标签数据丰富的情况下非常有用。半监督学习的主要挑战是如何充分利用未标签的数据来提高模型的性能。

以下是一个半监督学习的例子,使用 Scikit-learn 库训练一个标签传播模型:

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.semi_supervised import LabelSpreading

# 假设我们使用 Scikit-learn 的手写数字数据集
digits = load_digits()

# 其中的一部分数据我们将其标签设为未知
rng = np.random.RandomState(42)
random_unlabeled_points = rng.rand(len(digits.target)) < 0.3
labels = np.copy(digits.target)
labels[random_unlabeled_points] = -1

model = LabelSpreading()
model.fit(digits.data, labels)

predictions = model.predict(digits.data)

在这个例子中,我们首先加载手写数字数据集,然后随机选择一部分数据,将其标签设置为未知。然后我们使用标签传播模型进行训练,并对所有数据进行预测。

4. 强化学习 (Reinforcement Learning)

强化学习与前面讨论的类型有所不同,它不是通过学习预测标签或找出数据结构,而是通过与环境的互动来学习一个策略,使得某个回报信号(reward signal)最大化。这个回报信号通常与目标的完成程度有关。例如,在棋类游戏中,赢得比赛会得到正的奖励,输掉比赛会得到负的奖励。

以下是一个使用 Python 的强化学习库 OpenAI Gym 来实现一个简单的随机策略的例子:

import gym

# 创建环境
env = gym.make('CartPole-v1')

for episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        action = env.action_space.sample()  # 随机选择一个动作
        observation, reward, done, info = env.step(action)  # 执行动作
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break
env.close()

在这个例子中,我们的目标是平衡一根杆子,但我们的策略是随机的,所以性能可能会很差。在实际的强化学习任务中,我们会使用如 Q-learning 或策略梯度等算法来学习一个优秀的策略。

总的来说,监督学习、无监督学习、半监督学习和强化学习都是机器学习的重要类型,它们有各自的适用场景和优势。理解它们的工作原理和应用方法,将有助于我们在实际问题中选择合适的工具和策略。

3. 机器学习的基本术语

要深入理解机器学习,了解一些基本术语是非常必要的。以下是一些你可能会在学习或工作中遇到的常见术语。

1. 特征 (Feature)

特征是用来描述数据的属性或变量。在机器学习模型中,特征被用来表示每个数据实例。例如,在预测房价的问题中,可能会用到的特征包括房屋的面积、卧室数量、地理位置等。

Python 代码示例:

import pandas as pd

# 假设我们有一个包含房屋信息的数据框
df = pd.DataFrame({
    'area': [50, 70, 80],
    'bedrooms': [1, 2, 3],
    'location': ['city center', 'suburb', 'rural']
})

# 这里 'area', 'bedrooms' 和 'location' 都是特征
features = df.columns.tolist()

2. 标签 (Label)

标签是我们在监督学习中希望模型预测的目标变量。在分类问题中,标签通常是类别;在回归问题中,标签是连续的数值。例如,在垃圾邮件检测问题中,邮件是否为垃圾邮件就是标签。

Python 代码示例:

import pandas as pd

# 假设我们有一个包含邮件信息的数据框,其中 'is_spam' 列表示邮件是否为垃圾邮件
df = pd.DataFrame({
    'email': ['email1', 'email2', 'email3'],
    'is_spam': [0, 1, 0]
})

# 这里 'is_spam' 就是标签
labels = df['is_spam']

3. 模型 (Model)

模型是机器学习算法在给定数据上训练得到的结果。它是算法根据数据学习到的模式的数学表示。模型可以用来对新的、未见过的数据进行预测。

Python 代码示例:

from sklearn.linear_model import LogisticRegression

# 假设 X 是特征,y 是标签
model = LogisticRegression()
model.fit(X, y)

# 这里 'model' 就是训练得到的模型

4. 训练与测试

在机器学习中,我们通常将数据分为训练集和测试集。模型在训练集上进行训练,在测试集上进行测试,以评估模型对未见过数据的泛化能力。

Python 代码示例:

from sklearn.model_selection import train_test_split

# 假设 X 是特征,y 是标签
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 'X_train'和 'y_train' 是训练数据,'X_test' 和 'y_test' 是测试数据。

5. 过拟合与欠拟合 (Overfitting & Underfitting)

过拟合和欠拟合描述的是模型在训练数据和测试数据上的表现。过拟合是指模型在训练数据上表现得太好,以至于它学习到了数据中的噪声而忽略了真正的模式,导致在测试数据上表现不佳。欠拟合则是指模型在训练数据上的表现就不好,没有学习到足够的模式,同样在测试数据上表现不佳。

6. 交叉验证 (Cross Validation)

交叉验证是一种评估模型性能的技术,它将数据分为k个子集,然后进行k次训练和测试,每次选择一个子集作为测试集,剩余的k-1个子集作为训练集。

Python 代码示例:

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

# 假设 X 是特征,y 是标签
model = LogisticRegression()

scores = cross_val_score(model, X, y, cv=5)

# 这里 'scores' 是每一轮交叉验证的分数

7. 精度、召回率和F1分数 (Precision, Recall, F1 Score)

这些都是评估分类模型性能的指标。精度是指预测为正例的样本中真正的正例所占的比例;召回率是指真正的正例被预测为正例的比例;F1分数是精度和召回率的调和平均数,用来平衡精度和召回率。

Python 代码示例:

from sklearn.metrics import precision_score, recall_score, f1_score

# 假设 y_true 是真实标签,y_pred 是预测标签
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

# 这里 'precision', 'recall' 和 'f1' 是精度、召回率和F1分数

以上是机器学习中常见的一些基本术语,理解这些术语对于理解机器学习的概念和方法至关重要。在你的机器学习之旅中,你可能还会遇到更多的术语和概念,不断学习和实践是深入理解这些概念的关键。

4.常见的机器学习算法

机器学习算法非常多样化,但是有一些基础和常见的算法是我们必须了解的。以下是几种重要的机器学习算法。

1. 线性回归 (Linear Regression)

线性回归是一种简单但非常有效的预测模型,通常用于预测连续的数值。它的目标是找到一个线性函数,最好地拟合输入特征和目标变量之间的关系。

Python 代码示例:

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# 假设 X 是特征,y 是标签
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

2. 逻辑回归 (Logistic Regression)

逻辑回归是一种用于解决分类问题的模型,尽管它的名称中含有“回归”。它的目标是找到一个逻辑函数(或称为sigmoid函数),将特征的线性组合映射到[0,1]区间,表示某一类的概率。

Python 代码示例:

from sklearn.linear_model import LogisticRegression

# 假设 X 是特征,y 是二分类标签
model = LogisticRegression()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

3. 决策树 (Decision Tree)

决策树是一种在各种数据科学任务中都非常有用的模型,它通过一系列的问题来进行预测。每个问题都是关于一个特征的,答案将数据分为两个子集,然后在每个子集上重复这个过程。

Python 代码示例:

from sklearn.tree import DecisionTreeClassifier

# 假设 X 是特征,y 是分类标签
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

4. 支持向量机 (Support Vector Machine)

支持向量机是一种强大的分类和回归模型,它试图找到一个超平面,能够最大化正类和负类之间的边界(或称为间隔)。

Python 代码示例:

from sklearn.svm import SVC

# 假设 X 是特征,y 是分类标签
model = SVC()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

5. 随机森林 (Random Forest)

随机森林是一种集成学习模型,它由多个决策树组成。每个决策树独立地对数据进行预测,然后随机森林将这些预测进行整合,通常是通过投票或平均,来得到最终的预测。

Python 代码示例:

from sklearn.ensemble import RandomForestClassifier

# 假设 X 是特征,y 是分类标签
model = RandomForestClassifier()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

6. K最近邻 (K-Nearest Neighbors)

K最近邻算法是一种基于实例的学习算法,用于分类和回归。给定一个新的未标记实例,K-NN算法会找到训练数据中与其最近的K个实例(即邻居),然后根据这些邻居的标签来预测新实例的标签(分类)或值(回归)。

Python 代码示例:

from sklearn.neighbors import KNeighborsClassifier

# 假设 X 是特征,y 是分类标签
model = KNeighborsClassifier()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

7. 梯度提升 (Gradient Boosting)

梯度提升是一种集成学习算法,它通过逐步添加新模型,不断改进整体性能。每个新模型都尝试修正之前所有模型的错误。梯度提升常用于回归和分类问题,特别是在结构化数据上表现优异。

Python 代码示例:

from sklearn.ensemble import GradientBoostingClassifier

# 假设 X 是特征,y 是分类标签
model = GradientBoostingClassifier()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

以上就是一些常见的机器学习算法。每种算法都有其特性和适用的情景,理解这些算法的基本原理和如何在Python中实现是非常重要的。同时,这些只是众多机器学习算法中的一部分,深入的学习和实践将帮助你理解更多复杂的模型和算法。

5.常见的机器学习流程

以下是一个典型的机器学习项目的流程,每一步都非常关键,不能忽视。

1. 数据收集

数据收集是机器学习流程的第一步。这可能涉及到从数据库中抽取数据、使用API或者爬虫收集网络数据,或者通过调查或实验收集数据。你需要确保收集到的数据足够多,能够反映出你要解决的问题的各个方面。这也是首次对数据进行观察和理解的阶段,你可以查看数据的结构、类型等。

2. 数据预处理

数据预处理是机器学习流程中非常关键的一步。因为实际的数据往往是不完整、不一致或者包含噪声的。数据预处理的主要目标是解决这些问题,使得数据能够更好地适应模型的需求。这个阶段通常包括数据清洗(处理缺失值和异常值)、数据转换(如标准化或归一化)、数据编码(将分类变量转化为数值变量)等。

from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer

# 假设 numerical_features 是数值特征,categorical_features 是分类特征
numerical_transformer = StandardScaler()
categorical_transformer = OneHotEncoder()

preprocessor = ColumnTransformer(
    transformers=[
        ('num', numerical_transformer, numerical_features),
        ('cat', categorical_transformer, categorical_features)])

X = preprocessor.fit_transform(X)

3. 特征选择

特征选择是从所有特征中选择出最有价值、最有用的特征输入到模型中的过程。这个步骤可以减少数据的维度,提高模型的训练速度,降低模型复杂性,以及帮助我们更好地理解数据和模型。

from sklearn.feature_selection import SelectKBest

# 假设 X 是特征,y 是标签
selector = SelectKBest(k=10)
X_new = selector.fit_transform(X, y)

4. 模型训练

模型训练是机器学习流程中的核心步骤。这个阶段通常会使用一部分数据(训练集)来训练模型,让模型学习到特征和目标变量之间的映射关系。如前文所述,这一步可以使用各种机器学习算法,如线性回归、决策树、支持向量机等。

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split

# 假设 X 是特征,y 是标签
X_train, X_test, y_train, y_test = train_test_split(X_new, y,test_size=0.2, random_state=42)

model = RandomForestClassifier()
model.fit(X_train, y_train)


**5. 模型评估和优化**

模型训练完成后,我们需要评估模型的性能,通常使用剩余的数据(测试集)进行评估。评估指标取决于你的任务类型,例如,对于分类问题,常用的评估指标有准确率、AUC-ROC、精确率、召回率等;对于回归问题,常用的评估指标有均方误差、均方根误差、R^2等。

from sklearn.metrics import accuracy_score

predictions = model.predict(X_test)
print(accuracy_score(y_test, predictions))

此外,你可能还需要进行模型优化。常见的优化方法包括调整模型参数(超参数调优)、使用更复杂或更简单的模型、使用集成方法等。

from sklearn.model_selection import GridSearchCV

parameters = {'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20, 30]}
grid_search = GridSearchCV(RandomForestClassifier(), parameters)
grid_search.fit(X_train, y_train)

best_model = grid_search.best_estimator_

6. 模型部署

模型训练完成并优化后,下一步就是部署模型,将模型置于生产环境中,以便对新数据进行预测。模型部署可能包括将模型保存为文件、上传到服务器、封装为API等。模型部署后,还需要定期维护和更新模型,以确保模型的性能。

import joblib

# 保存模型
joblib.dump(best_model, 'model.pkl')

# 在需要的时候加载模型
loaded_model = joblib.load('model.pkl')

以上就是一个典型的机器学习流程。需要注意的是,这个流程并不是一成不变的,可能需要根据具体的项目和需求进行调整。例如,在一些项目中,你可能还需要进行特征工程,或者使用交叉验证进行模型评估等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

CVPR2023中的数据集工作(共46篇)

本文搜集了CVPR2023中所有的以数据集发布为主的工作&#xff0c;共搜集到46篇。所有标题都附带文章超链接&#xff0c;请君享用&#xff5e; An Image Quality Assessment Dataset for PortraitsLOGO: A Long-Form Video Dataset for Group Action Quality AssessmentTowards …

在Excel当前窗口显示最后一行数据

大家也许都知道Excel工作表中数据行数较多&#xff0c;使用<Ctrl下箭头>组合键可以快速定位最后一行&#xff0c;但是如果数据不是连续的&#xff08;也就是工作表中包含空行&#xff09;&#xff0c;这个方式就只能定位到当前连续数据区域的最后一行。 如下实例代码可以…

YOLOv5图像和视频对象生成边界框的目标检测实践(GPU版本PyTorch错误处理)

识别图像和视频里面的对象&#xff0c;在计算机视觉中是一个很重要的应用&#xff0c;比如无人驾驶&#xff0c;这个就需要实时的检测到周边环境的各种对象&#xff0c;并及时做出处理。目标检测在以往的文章中有重点讲解过几种&#xff0c;其中Faster R-CNN的源码解读&#xf…

国金QMT量化交易系统的Bug及应对策略

国金QMT量化交易系统中的 账号成交状态变化主推 deal_callback() &#xff0c; 当账号成交状态有变化时&#xff0c;这个函数被客户端调用。 我的策略是&#xff0c;在handlebar()里面挂单&#xff0c;等待成交&#xff0c;而判断成交的方式是根据系统主推deal_callback()通知…

【方法】想把PDF文档转换成PPT,如何操作?

很多小伙伴在工作中&#xff0c;会使用PDF或者PPT来展示内容。那如果需要把PDF转换成PPT&#xff0c;要如何操作呢&#xff1f; 我们知道&#xff0c;PPT转换成PDF很容易操作&#xff0c;只需通过PPT的【导出】选项&#xff0c;就可以直接转换成PDF&#xff1b;还可以通过“另…

CC2530 外部中断配置步骤

第一章 硬件原理图分析 第二章 配置按键中断步骤

The Company Requires Superficial StudyPHP 变量的使用 ③

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; PHP MYSQL &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f44…

RTSP视频流相关的一些操作

播放rtsp camera 内容 端口554在网络通信中用于Real Time Streaming Protocol(RTSP)。 gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.190:554/client0x gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.61:554/client1xgst-launch-1.0 rtspsrc …

【机器学习】信息熵和信息度量

一、说明 信息熵是概率论在信息论的应用,它简洁完整,比统计方法更具有计算优势。在机器学习中经常用到信息熵概念,比如决策树、逻辑回归、EM算法等。本文初略介绍一个皮毛,更多细节等展开继续讨论。 二、关于信息熵的概念 2.1 要素描述 信息熵:熵是一种测量随机变量 X …

深度:全面解析数据智能的金融“炼金术”!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 金融以其财富效应&#xff0c;成为最新科技的试金石。一项新技术出来后&#xff0c;人们首先闪过的念头就是“能不能用它赚钱”。例如&#xff0c;ChatGPT带火了大模型&#xff0c;人们也开始将目标聚焦到大模型在金融领域的…

5.1阻塞和非阻塞、同步和异步 5.2Unix、Linux上的五种IO模型

5.1阻塞和非阻塞、同步和异步 典型的一次IO的两个阶段是什么&#xff1f;数据就绪和数据读写 数据就绪&#xff1a;根据IO操作的就绪状态 阻塞非阻塞 数据读写&#xff1a;根据应用程序和内核的交互方式 同步异步 陈硕&#xff1a;在处理IO的时候&#xff0c;阻塞和非阻塞都…

短信压力测试系统,支持自定义接口

短信压力测试系统,支持自定义接口 支持卡密充值&#xff0c;短信压力测试系统&#xff0c;解决一切骚扰电话&#xff0c;教程在压缩包里面 可多个服务器挂脚本分担压力&#xff0c;套了cdn导致无法正常执行脚本可以尝试添加白名单 这边建议使用MySQL方式 同服务器下直接配置…

计算机网络——物理层

物理层 物理层是计算机网络体系结构中的底层层级&#xff0c;负责处理计算机与物理传输媒介之间的接口和通信细节。它主要关注如何在物理媒介上传输原始比特流&#xff0c;并确保数据能够可靠地从发送方传输到接收方。 物理层的主要任务包括&#xff1a; 传输介质&#xff1a…

计算机启动

按下主机上的 power 键后&#xff0c;第一个运行的软件是 BIOS,BIOS 全称叫 Base Input & Output System&#xff0c;即基本输入输出系统。 &#xff08;8086的1MB内存&#xff09; 地址 0&#xff5e;0x9FFFF 处是 DRAM&#xff0c;顶部的 0xF0000&#xff5e;0xFFFFF&am…

【一起啃书】《机器学习》第十章 降维与度量学习

文章目录 第十章 降维与度量学习10.1 k k k近邻学习10.2 低维嵌入10.3 主成分分析10.3.1 定义与步骤10.3.2 最近重构性与最大可分性 10.4 核化线性降维10.5 流形学习10.6 度量学习 第十章 降维与度量学习 10.1 k k k近邻学习 k k k近邻学习是一种常用的监督学习方法&#xf…

基于 unity 配置 adb

1.打开环境变量配置path的环境 2 找到自己的unity安装目录,找到对应路径 配置到 path 属性中 C:\~\Editor\2021.3.0f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools 3 应用保存即可

FPGA中ROM初始化方法

一 读取txt数据文件进行初始化 parameter INIT_FILE "文件路径/Data.txt" &#xff08;**注意文件路径中斜杠方向**&#xff09; reg [DATA_WITDH - 1:0] ROM [DATA_DEPTH - 1:0];initial begin$readmemh(INIT_FILE, ROM, 0, DATA_DEPTH - 1); end Dat…

Java面试题大全(23年整理版)最新全面技巧讲解

程序员面试背八股&#xff0c;可以说是现在互联网开发岗招聘不可逆的形式了&#xff0c;其中最卷的当属 Java&#xff01;&#xff08;网上动不动就是成千上百道的面试题总结&#xff09;你要是都能啃下来&#xff0c;平时技术不是太差的话&#xff0c;面试基本上问题就不会太大…

Loadrunner怎么实现MD5加密

目录 前言&#xff1a; 1、写一个md5.h文件&#xff0c;将其放入脚本路径下 2、在globals.h中加入#include “md5.h” 3、在Action中写脚本&#xff0c;脚本示例如下&#xff1a; 前言&#xff1a; 在 LoadRunner 中实现 MD5 加密可以通过使用 LoadRunner 提供的函数来完成…