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

【深度智能】:迈向高级时代的人工智能全景指南

ce6fbd68767d465bbe94b775b8b811db.png

731bd47804784fa2897220a90a387b28.gif

 前几天偶然发现了一个超棒的人工智能学习网站,内容通俗易懂,讲解风趣幽默,简直让人欲罢不能。忍不住分享给大家,人工智能立刻跳转,开启你的AI学习之旅吧!

第一阶段:基础知识

1. 计算机科学基础

1.1 编程语言:Python

  • 知识点

    • 基本语法:变量、数据类型、条件语句、循环、函数等。
    • 数据结构:列表、字典、元组、集合等。
    • 面向对象编程:类、对象、继承、多态、封装。
    • 文件操作:读写文件、文件路径。
    • 常用库:如 NumPy、Pandas、Matplotlib 等。
  • 案例解析

    • 数据处理:利用 Python 的 Pandas 库对数据集进行处理。例如,使用 Pandas 读取 CSV 文件、清理数据(去除缺失值、重复值)、数据分组和聚合。
    • 矩阵运算:利用 NumPy 进行矩阵运算,如创建矩阵、矩阵乘法、矩阵转置等,为后续线性代数知识奠定基础。
# 使用Python列表操作
numbers = [1, 2, 3, 4, 5]
squared = [x ** 2 for x in numbers]
print(squared)
[1, 4, 9, 16, 25]

1.2 数据结构和算法

  • 知识点
    • 数据结构:链表、栈、队列、树、图、哈希表等。
    • 算法:排序算法(如快速排序、归并排序)、查找算法(如二分查找)、递归、动态规划、贪心算法。
  • 案例解析
    • 图的最短路径问题:利用 Dijkstra 算法在图中找到从起点到终点的最短路径,可用于地图导航等场景。
    • 排序算法:编写快速排序算法并分析其时间复杂度,理解算法的效率问题。
def binary_search(arr, target):left, right = 0, len(arr) - 1while left <= right:mid = (left + right) // 2if arr[mid] == target:return midelif arr[mid] < target:left = mid + 1else:right = mid - 1return -1arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result = binary_search(arr, 7)
print(f"Element found at index: {result}")
Element found at index: 6
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt# 生成数据
X, y = make_regression(n_samples=100, n_features=1, noise=10)# 训练模型
model = LinearRegression()
model.fit(X, y)# 预测
predictions = model.predict(X)# 可视化
plt.scatter(X, y, color='blue')
plt.plot(X, predictions, color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression Fit')
plt.show()

 Minimum found at x = 3.0

1.3 计算机系统

  • 知识点

    • 操作系统:进程、线程、内存管理、文件系统。
    • 计算机网络:TCP/IP、HTTP、DNS 等。
    • 并行和分布式计算:多线程、多进程、分布式系统。
  • 案例解析

    • 多线程编程:使用 Python 的 threading 模块创建多线程程序,例如编写一个多线程爬虫,理解线程之间的同步与锁机制。
    • 网络通信:用 Python 编写一个简单的 HTTP 客户端,模拟浏览器与服务器的交互,理解网络通信的基本原理。
import numpy as np# 梯度下降优化 y = (x - 3)^2 的最小值
def gradient_descent(learning_rate=0.1, epochs=100):x = 0  # 初始点for i in range(epochs):gradient = 2 * (x - 3)  # y = (x-3)^2 的导数x -= learning_rate * gradientreturn xminimum = gradient_descent()
print(f"Minimum found at x = {minimum}")
Minimum found at x = 3.0

2. 数学基础

2.1 线性代数

  • 知识点

    • 矩阵与向量:矩阵加法、乘法、转置、逆矩阵。
    • 特征值与特征向量:理解它们在数据降维(PCA)中的作用。
    • 线性变换:矩阵表示的线性变换。
  • 案例解析

    • 主成分分析(PCA):使用 NumPy 实现 PCA,降维一个高维数据集,观察数据在低维空间的分布。
    • 图像处理:将图像表示为矩阵,通过矩阵运算(如旋转、缩放)对图像进行基本变换。

2.2 概率与统计

  • 知识点

    • 概率论:条件概率、贝叶斯定理、随机变量、期望、方差。
    • 统计学:概率分布(正态分布、泊松分布)、假设检验、置信区间、回归分析。
  • 案例解析

    • 贝叶斯分类器:利用贝叶斯定理实现一个朴素贝叶斯分类器,对文本进行分类(如垃圾邮件检测)。
    • 数据分析:利用 Pandas 和 Matplotlib 对数据集进行统计分析,如计算均值、标准差,绘制数据分布图。

2.3 微积分

  • 知识点

    • 导数和积分:导数的概念、偏导数、梯度。
    • 链式法则:理解神经网络的反向传播原理。
  • 案例解析

    • 梯度下降:使用 Python 实现梯度下降算法,优化简单的二次函数。观察学习率对收敛速度的影响。
    • 反向传播:手动推导和实现一个简单的神经网络反向传播算法,理解深度学习模型的训练过程。

3. 机器学习基础

3.1 机器学习概念

  • 知识点

    • 监督学习与无监督学习:分类、回归、聚类。
    • 训练集、验证集、测试集:数据集划分,交叉验证。
    • 过拟合与欠拟合:正则化、模型选择。
  • 案例解析

    • 线性回归:使用 scikit-learn 实现线性回归模型,对房价预测进行建模。学习如何处理过拟合问题,例如通过正则化(L1、L2)。
    • K-Means 聚类:对一组未标注的数据进行聚类分析,理解无监督学习的应用。

3.2 基本算法

  • 知识点

    • 线性回归与逻辑回归:预测与分类模型。
    • 支持向量机(SVM):用于分类任务的边界最大化方法。
    • 决策树与随机森林:基于树的模型,适用于分类与回归任务。
    • K 近邻(KNN):基于实例的学习方法。
    • 朴素贝叶斯:基于贝叶斯定理的分类器。
  • 案例解析

    • 决策树:使用 scikit-learn 构建决策树模型,对 Iris 数据集进行分类。可视化决策树并解释模型的决策过程。
    • SVM:用 SVM 对手写数字数据集(如 MNIST)进行分类,理解核函数的作用。

3.3 模型评估

  • 知识点

    • 评价指标:准确率、精确率、召回率、F1 分数、AUC 等。
    • 交叉验证:K 折交叉验证,留一法。
  • 案例解析

    • 混淆矩阵:在 scikit-learn 中使用混淆矩阵评估分类模型的性能,分析不同类别的分类错误情况。
    • ROC 曲线:绘制 ROC 曲线并计算 AUC,评估模型在不同阈值下的性能。

第二阶段:深度学习

1. 深度学习基础

1.1 神经网络基础

  • 知识点

    • 感知机:单层感知机,多层感知机(MLP)。
    • 激活函数:Sigmoid、ReLU、Tanh。
    • 前向传播和反向传播:神经网络的训练过程。
    • 损失函数:均方误差、交叉熵。
  • 案例解析

    • MNIST 手写数字识别:使用 TensorFlow 或 PyTorch 实现一个简单的多层感知机(MLP)来识别手写数字。通过调整网络层数、激活函数、学习率等超参数,观察模型性能的变化。
    • 激活函数影响:实验不同的激活函数(如 ReLU、sigmoid)对网络性能的影响,理解激活函数在神经网络中的作用。
  • import tensorflow as tf
    from tensorflow.keras import layers, models# 加载 MNIST 数据集
    (X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
    X_train, X_test = X_train / 255.0, X_test / 255.0  # 归一化# 构建简单的神经网络模型
    model = models.Sequential([layers.Flatten(input_shape=(28, 28)),layers.Dense(128, activation='relu'),layers.Dense(10, activation='softmax')
    ])# 编译和训练模型
    model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])history = model.fit(X_train, y_train, epochs=5, validation_data=(X_test, y_test))# 评估模型
    test_loss, test_acc = model.evaluate(X_test, y_test)
    print(f'Test accuracy: {test_acc}')
    

1.2 深度学习框架

  • 知识点
    • TensorFlow 与 PyTorch:基本概念、模型构建、自动微分。
    • Keras:快速原型开发。
  • 案例解析
    • 手写神经网络:在 TensorFlow 中实现前向传播和反向传播,手动计算梯度,训练一个简单的神经网络。通过这种实践,深入理解神经网络的工作原理。
    • CIFAR-10 图像分类:使用 PyTorch 搭建卷积神经网络(CNN),对 CIFAR-10 数据集进行图像分类任务。

1.3 优化算法

  • 知识点

    • 梯度下降:随机梯度下降(SGD)、小批量梯度下降。
    • 优化器:Momentum、RMSProp、Adam 等。
  • 案例解析

    • 优化器比较:在相同的神经网络模型上,分别使用 SGD、Momentum、Adam 等优化器进行训练,比较收敛速度和性能差异,理解不同优化算法的优势与不足。

2. 卷积神经网络(CNN)

2.1 CNN 基础

  • 知识点

    • 卷积层:卷积操作、滤波器、特征图。
    • 池化层:最大池化、平均池化。
    • 全连接层:分类决策。
    • 经典网络架构:LeNet、AlexNet、VGG、ResNet。
  • 案例解析

    • LeNet 手写数字识别:用 TensorFlow 实现 LeNet 网络结构,对 MNIST 数据集进行手写数字识别。理解卷积操作对图像特征的提取作用。
    • ResNet:使用 PyTorch 实现 ResNet,并在 CIFAR-10 数据集上进行训练,体验深层网络结构及残差网络的优势。

2.2 图像处理应用

  • 知识点

    • 图像分类:识别图像中的物体类别。
    • 目标检测:定位图像中的物体(如 YOLO、SSD)。
    • 图像分割:像素级别的图像分类(如 FCN、U-Net)。
    • 风格迁移:将一种图像的风格迁移到另一种图像上。
  • 案例解析

    • 风格迁移:使用 TensorFlow 实现神经风格迁移,将一幅图像的风格(如梵高的画风)应用到另一幅图像上。理解卷积神经网络对图像特征的提取和重构能力。
    • YOLO 目标检测:使用预训练的 YOLO 模型对一组图像进行目标检测,理解目标检测模型的原理和应用。

3. 循环神经网络(RNN)

3.1 RNN 基础

  • 知识点

    • RNN 结构:标准 RNN、LSTM、GRU。
    • 梯度消失与爆炸:LSTM、GRU 如何解决梯度问题。
    • 序列数据:时间序列、文本序列。
  • 案例解析

    • 文本生成:使用 LSTM 实现一个简单的文本生成模型,输入一段文本片段,模型根据学到的序列模式生成后续文本。
    • 时间序列预测:利用 LSTM 对股票价格等时间序列数据进行预测,理解循环神经网络在序列数据建模中的优势。
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt# 加载 CIFAR-10 数据集
(X_train, y_train), (X_test, y_test) = datasets.cifar10.load_data()
X_train, X_test = X_train / 255.0, X_test / 255.0  # 归一化# 构建 CNN 模型
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.Flatten(),layers.Dense(64, activation='relu'),layers.Dense(10, activation='softmax')
])# 编译和训练模型
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])history = model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))# 可视化训练过程
plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label='val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.legend(loc='lower right')
plt.show()

4. 生成对抗网络(GAN)

4.1 GAN 基础

  • 知识点

    • 生成器与判别器:对抗训练的核心机制。
    • GAN 损失函数:对抗损失,平衡生成器与判别器的训练。
    • 训练不稳定性:常见的训练技巧。
  • 案例解析

    • DCGAN 图像生成:使用 PyTorch 实现 DCGAN,对 MNIST 数据集进行手写数字的生成。观察生成器如何逐渐学习数据分布,生成类似真实数据的样本。
    • CycleGAN:实现 CycleGAN 模型,将马的图像转换为斑马图像,反之亦然,理解无监督学习在图像转换中的应用。

第三阶段:高级应用与优化

1. 自然语言处理(NLP)

1.1 NLP 基础

  • 知识点

    • 词汇表示:词袋模型、TF-IDF、Word2Vec、GloVe。
    • 句子表示:RNN、LSTM、GRU 在文本表示中的应用。
    • 文本处理:分词、去停用词、词性标注、命名实体识别。
  • 案例解析

    • 情感分析:使用 Word2Vec 对文本进行词嵌入,然后利用 LSTM 网络对影评数据集进行情感分类,判断一条评论是正面还是负面。
    • 命名实体识别:使用 RNN 或 BERT 模型进行命名实体识别任务,从句子中提取实体(如人名、地名)。

1.2 Transformer 与 BERT

  • 知识点

    • Transformer 架构:多头自注意力机制、位置编码。
    • BERT:预训练与微调。
  • 案例解析

    • 机器翻译:使用 Transformer 模型实现英文到法文的机器翻译任务。通过对序列到序列模型的训练,理解注意力机制在长序列处理中的优势。
    • BERT 文本分类:使用 Hugging Face 的 Transformers 库加载预训练的 BERT 模型,对情感分析任务进行微调,快速实现高性能的文本分类模型。

1.3 NLP 应用

  • 知识点

    • 文本分类情感分析机器翻译对话系统
  • 案例解析

    • 对话系统:使用 Seq2Seq 模型构建一个简单的聊天机器人,通过大量的对话数据训练模型,使其能够进行简单的人机对话。

2. 计算机视觉

2.1 目标检测与分割

  • 知识点

    • 目标检测:R-CNN、Fast R-CNN、YOLO、SSD。
    • 图像分割:语义分割(如 FCN)、实例分割(如 Mask R-CNN)。
  • 案例解析

    • Mask R-CNN:利用 Mask R-CNN 对 COCO 数据集进行实例分割,学习模型在图片中识别不同物体并进行像素级别标注的能力。
    • YOLO 实时检测:使用 YOLOv3 模型进行实时目标检测,在视频流中识别和标注目标。
2.2 图像生成与增强
  • 知识点

    • 图像生成:GAN、VAE。
    • 数据增强:图像翻转、旋转、裁剪、亮度调整等。
  • 案例解析

    • 超分辨率重建:使用 SRGAN 对低分辨率图像进行超分辨率重建,提升图像的清晰度。理解生成网络在细节增强方面的作用。
    • 数据增强:在图像分类任务中使用数据增强技术,增加训练数据的多样性,提高模型的泛化能力。

3. 强化学习

3.1 强化学习基础

  • 知识点

    • 马尔可夫决策过程(MDP):状态、动作、奖励、策略。
    • 强化学习算法:Q-learning、SARSA、DQN、DDPG、A3C。
  • 案例解析

    • Q-learning 迷宫问题:使用 Q-learning 算法解决迷宫问题,找到从起点到终点的最优路径。理解 Q-learning 如何通过学习环境中的反馈来优化策略。
    • DQN 游戏代理:利用 DQN 在 Atari 游戏环境中训练智能体,掌握在复杂环境中的决策能力。
import gym
import numpy as npenv = gym.make('CartPole-v1')
Q = np.zeros([env.observation_space.shape[0], env.action_space.n])  # Q 表# 简化的伪代码,完整实现略
def simple_q_learning(env, Q, episodes=1000):for episode in range(episodes):state = env.reset()done = Falsewhile not done:action = np.argmax(Q[state])  # 选择行动next_state, reward, done, _ = env.step(action)Q[state, action] = Q[state, action] + 0.1 * (reward + np.max(Q[next_state]) - Q[state, action])state = next_statesimple_q_learning(env, Q)

第四阶段:项目实践与优化

1. 项目实践

1.1 数据集选择

  • 知识点

    • 数据集选择:选择适合的公开数据集,如 MNIST、CIFAR-10、ImageNet、COCO、IMDB。
  • 案例解析

    • 手写数字识别:使用 MNIST 数据集训练一个 CNN 模型,实现手写数字的识别。通过数据集划分、预处理、模型训练和评估,完成完整的机器学习项目流程。

1.2 模型训练与调优

  • 知识点

    • 模型调优:超参数调整、正则化、数据增强、模型集成。
  • 案例解析

    • 超参数优化:使用 Grid Search 或 Random Search 对模型的超参数进行优化,如学习率、批量大小、网络深度。观察不同超参数组合对模型性能的影响。

1.3 项目案例

  • 知识点

    • 项目案例:图像分类、目标检测、情感分析、机器翻译、聊天机器人、强化学习游戏代理。
  • 案例解析

    • 图像分类项目:选择 CIFAR-10 数据集,构建并训练 ResNet 模型,实现高准确率的图像分类任务。详细记录并分析模型的训练过程、超参数调整、性能优化。

2. 高级优化与部署

2.1 模型优化

  • 知识点

    • 模型压缩:剪枝、量化、蒸馏。
    • 模型加速:使用硬件加速(如 GPU、TPU)。
  • 案例解析

    • 模型剪枝:对一个预训练的 CNN 模型进行剪枝,减少冗余参数,提高推理速度。评估剪枝前后模型在测试集上的性能变化。

2.2 模型部署

  • 知识点

    • 部署工具:TensorFlow Serving、TorchServe、ONNX、Docker、Kubernetes。
    • 部署环境:云端、移动设备、嵌入式设备。
  • 案例解析

    • 模型服务:使用 TensorFlow Serving 将训练好的图像分类模型部署为 REST API 服务,实现在线推理。测试 API 的响应时间和处理能力。
from transformers import BertTokenizer, TFBertForSequenceClassification
import tensorflow as tf# 加载预训练的 BERT 模型
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased')# 编码输入数据
inputs = tokenizer("Hello, how are you?", return_tensors="tf")
outputs = model(inputs)
logits = outputs.logits# 获取分类结果
predicted_class = tf.argmax(logits, axis=1).numpy()
print(f"Predicted class: {predicted_class}")

第五阶段:前沿研究与持续学习

1. 前沿研究

1.1 研究论文阅读

  • 知识点

    • 学术会议:NeurIPS、ICML、CVPR、ACL 等。
    • 前沿技术:GAN、Transformer、BERT、GPT-3、DALL-E。
  • 案例解析

    • 论文复现:选择一篇经典的研究论文(如 "Attention Is All You Need"),用 PyTorch 或 TensorFlow 复现论文中的模型(如 Transformer),深入理解论文提出的方法和创新点。

1.2 开源项目与工具

  • 知识点

    • 开源社区:GitHub、Kaggle、TensorFlow Hub。
    • 开源工具:Hugging Face、Fast.ai。
  • 案例解析

    • 参与开源项目:参与开源项目,如 TensorFlow Models,贡献代码或提出改进建议,实践前沿 AI 技术并积累开发经验。

2. 持续学习

2.1 课程与培训

  • 知识点

    • 在线学习平台:Coursera、edX、Udacity、Fast.ai。
    • 持续教育:工作坊、研讨会、学术会议。
  • 案例解析

    • 课程学习:参加 Stanford 大学的 CS231n(卷积神经网络视觉识别)课程,系统学习计算机视觉的理论和实践,提高专业知识水平。

2.2 社区与交流

  • 知识点

    • 社区平台:AI 论坛、GitHub、Kaggle、Reddit、LinkedIn。
    • 行业交流:参加 AI 研讨会、Meetup 活动。
  • 案例解析

    • Kaggle 竞赛:参与 Kaggle 数据科学竞赛,如图像分类、自然语言处理等,利用学到的知识解决实际问题,与全球的数据科学家交流合作。

总结

本学习路线详细分解了人工智能学习过程中涉及的各个知识点,并通过具体案例对其进行了深入解析。学习者应从基础知识入手,逐步深入到机器学习和深度学习领域,再到高级应用、项目实践和前沿研究,持续学习和实践,不断提升自己的能力。

相关文章:

【深度智能】:迈向高级时代的人工智能全景指南

​ ​ 前几天偶然发现了一个超棒的人工智能学习网站&#xff0c;内容通俗易懂&#xff0c;讲解风趣幽默&#xff0c;简直让人欲罢不能。忍不住分享给大家&#xff0c;人工智能立刻跳转&#xff0c;开启你的AI学习之旅吧&#xff01; 第一阶段&#xff1a;基础知识 1. 计算机科…...

unity3d入门教程七

unity3d入门教程七 17.1物理系统17.2静态刚体17.3刚体的碰撞17.4刚体的反弹18.1运动学刚体18.2碰撞检测18.3碰撞事件回调18.4目标的识别18.5碰撞的规避 17.1物理系统 在物理系统中的物体具有质量和速度的是刚体 不用写代码就会自由落体运动了 17.2静态刚体 给 ‘地面’ 添…...

python植物大战僵尸项目源码【免费】

植物大战僵尸是一款经典的塔防游戏&#xff0c;玩家通过种植各种植物来抵御僵尸的进攻。 源码下载地址&#xff1a; 植物大战僵尸项目源码 提取码: 8muq...

目前人工智能时代,程序员如何保持核心竞争力?

随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#xff0c;也有人认为AI是提高效率的得力助手。面对这一趋势,…...

golang学习笔记20——golang微服务负载均衡的问题与解决方案

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

基于微信小程序的健身房管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的健…...

【裸机装机系列】6.kali(ubuntu)-图形界面优化-让linux更适合你的使用习惯

接下来就是图形化界面操作的部分了。会用少量截图来说明&#xff0c;图太多会影响阅读体验&#xff0c;直接文字来描述过程吧。 1> 入口 任务栏左上角——> 开始菜单——> settings——> settings manager 大部分配置都会在这里面设置。 2> 设置里面分的4大…...

新的突破,如何让AI与人类对话变得“顺滑”:Moshi背后的黑科技

你有没有想过,当我们跟智能音箱、客服机器人或者语音助手对话时,它们是怎么“听懂”我们说的话,又是怎么迅速给出回应的?就好像你对着Siri、Alexa说一句:“给我订个披萨”,它立刻明白你想要干嘛,然后帮你下单。背后的技术其实比我们想象的要复杂得多,但现在,有了Moshi…...

torch.embedding 报错 IndexError: index out of range in self

文章目录 1. 报错2. 原因3. 解决方法 1. 报错 torch.embedding 报错&#xff1a; IndexError: index out of range in self2. 原因 首先看下正常情况&#xff1a; import torch import torch.nn.functional as Finputs torch.tensor([[1, 2, 4, 5], [4, 3, 2, 9]]) embedd…...

rocky9虚拟机配置双网卡的详细过程

编辑虚拟机配置->添加->选择网络适配器->确认->打开虚拟机 1.ip add查看第二个网卡的名称&#xff0c;我这里是ens36 2.cd到网卡的配置文件目录 cd /etc/NetworkManager/system-connections/ ls3.复制一份网卡的配置文件并改名为ens36.nmconnection(根据自己的第…...

索引的介绍

目录 1.索引的介绍 1.1 什么是索引 1.2 为什么要使用索引 2.索引应该选择哪种数据结构 3.MYSQL中的页 3.1为什么要使用页 3.2页文件头和页文件尾 3.3 页主体 3.3页目录 3.4数据页头 4.B在MYSQL索引中的应用 4.1计算三层树高的B树可以存放多少条记录 5.索引分类 5.1 主…...

Web后端服务平台解析漏洞与修复、文件包含漏洞详解

免责申明 本文仅是用于学习检测自己搭建的Web后端服务平台解析漏洞、文件包含漏洞的相关原理,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国…...

树莓派介绍与可安装的操作系统

引言 自 2012 年问世以来&#xff0c;树莓派&#xff08;Raspberry Pi&#xff09; 已成为全球最受欢迎的微型单板计算机之一。最初&#xff0c;树莓派的目标是为学校和发展中国家的学生提供一个廉价的计算平台&#xff0c;以促进计算机科学教育。然而&#xff0c;凭借其低成本…...

Qt常用控件——QTextEdit

文章目录 QTextEdit核心属性和信号同步显示示例信号示例 QTextEdit核心属性和信号 QTextEdit表示多行输入框&#xff0c;是一个富文本和markdown编辑器&#xff0c;并且能在内存超出编辑框范围时自动提供滚动条。 QPlainTexEdit是纯文本&#xff0c;QTextEdit不仅表示纯文本&a…...

docker-compose 部署 flink [支持pyflink]

下载 flink 镜像 [rootlocalhost ~]# docker pull flink Using default tag: latest latest: Pulling from library/flink 762bedf4b1b7: Pull complete 95f9bd9906fa: Pull complete a880dee0d8e9: Pull complete 8c5deab9cbd6: Pull complete 56c142282fae: Pull comple…...

C++中string类的模拟实现

目录 1.string类的结构 2.默认成员函数 2.1.默认构造函数 2.2拷贝构造函数 2.3赋值运算符重载 2.4析构函数 3.迭代器(Iterators) 4.string类的空间操作(Capacity) 4.1size() 4.2capacity() 4.3clear() 4.4reserve() 5.元素访问(Element access) 6.string类的修…...

C++函数在库中的地址

本文讲述C如何直接调用动态库dll或者so中的函数。 首先我们准备一个被调用库&#xff0c;这个库里面有两个函数&#xff0c;分别是C98 与 C11 下的&#xff0c;名称是run2和run1。 被调用库 相关介绍请看之前的文章《函数指针与库之间的通信讲解》。 //dll_ex_im.h #ifndef…...

图像生成大模型imagen

要生成图像&#xff0c;可以使用深度学习模型&#xff0c;比如 OpenAI 的 DALLE、Google 的 Imagen 等。由于这些模型通常需要较大的计算资源和训练数据&#xff0c;下面是一些如何使用这些模型的基本步骤和方法。 使用预训练图像生成模型 选择模型&#xff1a; 常用的模型包括…...

Redis集群知识及实战

1. 为什么使用集群 在哨兵模式中&#xff0c;仍然只有一个Master节点。当并发写请求较大时&#xff0c;哨兵模式并不能缓解写压力。我们知道只有主节点才具有写能力&#xff0c;那如果在一个集群中&#xff0c;能够配置多个主节点&#xff0c;是不是就可以缓解写压力了呢&…...

数据报表轻松管理,强大“后台”不可少

在数据驱动的时代&#xff0c;制作一份高效、精准的数据报表成为企业管理和决策的重要手段。但要做好数据报表&#xff0c;不仅需要一款功能强大的报表工具&#xff0c;还必须有一个强有力的“后台”管理系统来支撑。那么&#xff0c;为什么报表工具需要一个管理后台&#xff1…...

简易CPU设计入门:本CPU项目的指令格式

在这一节里面&#xff0c;主要是理论知识&#xff0c;基本上不讲代码。不过&#xff0c;本项目的代码包&#xff0c;大家还是需要下载的。 本项目的代码包的下载方法&#xff0c;参考下面的链接所指示的文章。 下载本项目代码 本节&#xff0c;其实是要讲本项目CPU的指令集。…...

Datawhile 组队学习Tiny-universe Task01

Task01&#xff1a;LLama3模型讲解 仓库链接&#xff1a;GitHub - datawhalechina/tiny-universe: 《大模型白盒子构建指南》&#xff1a;一个全手搓的Tiny-Universe 参考博客&#xff1a;LLaMA的解读与其微调(含LLaMA 2)&#xff1a;Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子…...

MCU与SOC的区别

自动驾驶中 MCU 与 SoC 的区别 在自动驾驶系统中&#xff0c;**MCU&#xff08;微控制单元&#xff0c;Microcontroller Unit&#xff09;和SoC&#xff08;系统级芯片&#xff0c;System on Chip&#xff09;**都是关键的电子元件&#xff0c;但它们在性能、功能和应用领域等…...

51单片机-DS18B20(温度传感器)AT24C02(存储芯片) IIC通信-实验2-温度实时监测(可设置阈值)

作者&#xff1a;王开心 座右铭&#xff1a;刻苦专研&#xff0c;百折不挠&#xff0c;千磨万击还坚韧&#xff0c;任尔东西南北风&#xff01;干就完了&#xff01;&#xff08;可交流技术&#xff09; 主要利用DS18B20芯片去采集温度&#xff0c;通过采集的温度能够自动保存…...

Vue2接入高德地图API实现搜索定位和点击获取经纬度及地址功能

目录 一、申请密钥 二、安装element-ui 三、安装高德地图依赖 四、完整代码 五、运行截图 一、申请密钥 登录高德开放平台&#xff0c;点击我的应用&#xff0c;先添加新应用&#xff0c;然后再添加Key。 如图所示填写对应的信息&#xff0c;系统就会自动生成。 二、安装…...

msvcp140.dll丢失如何解决?msvcp140.dll丢失的多种解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行&#xff0c;给用户带来很大的困扰。那么&#xff0c;当我们遇到msvcp140.dll丢失的情况时&#xff0c;应该如何解决呢&a…...

高效财税自动化软件如何提升企业财务工作的效率与准确性

在当今企业运营中&#xff0c;财务管理发挥着核心作用。它不仅涉及企业正常运转和市场决策&#xff0c;还是推动企业向高质量发展迈进的关键动力。面对激烈的市场竞争与科技革新的双重挑战&#xff0c;财务管理亟需进行持续的转型与提升&#xff0c;为企业高质量发展目标的实现…...

Leetcode 3286. Find a Safe Walk Through a Grid

Leetcode 3286. Find a Safe Walk Through a Grid 1. 解题思路2. 代码实现 题目链接&#xff1a;3286. Find a Safe Walk Through a Grid 1. 解题思路 这一题的话思路上就是一个宽度优先遍历&#xff0c;我们按照health进行排序进行宽度优先遍历&#xff0c;看看在health被消…...

shell脚本语法

shell脚本的变量 系统变量 系统变量是操作系统用来存储配置信息的变量&#xff0c;它们可以控制操作系统的行为和程序的运行环境。系统变量的种类和内容取决于操作系统的类型和版本。以下是一些常见的系统变量类别和它们可能包含的内容&#xff1a; 环境变量&#xff1a;这些…...

TCP 拥塞控制:一场网络数据的交通故事

从前有条“高速公路”&#xff0c;我们叫它互联网&#xff0c;而这条公路上的车辆&#xff0c;则是数据包。你可以把 TCP&#xff08;传输控制协议&#xff09;想象成一位交通警察&#xff0c;负责管理这些车辆的行驶速度&#xff0c;以防止交通堵塞——也就是网络拥塞。 第一…...