AlexNet,LeNet-5,ResNet,VGG-19,VGG-16模型

模型

    • AlexNet
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 构建AlexNet模型:
        • 编译模型:
        • 训练模型:
    • LeNet-5
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 构建LeNet模型:
        • 编译模型:
    • ResNet
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用ResNet50模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:
    • VGG-19
        • 导入必要的库:
        • 加载类别名称
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用VGG-19模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:
    • VGG-16
        • 导入必要的库:
        • 加载类别名称
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用VGG-16模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:

本篇博客的图像和标签数据集就是之前自己训练的
博客地址:
https://blog.csdn.net/2301_76794217/article/details/139215356?spm=1001.2014.3001.5502
数据集地址:
https://download.csdn.net/download/2301_76794217/89359353?spm=1001.2101.3001.9500

AlexNet

提出时间:2012年
主要贡献:AlexNet是第一个在ImageNet竞赛中取得显著成绩的深度卷积神经网络,它引入了许多后来被广泛采用的技术,如局部响应归一化(LRN)、ReLU激活函数、使用GPU进行并行计算等。
结构特点:AlexNet包含5个卷积层、3个全连接层和两个用于防止过拟合的dropout层。它使用了大量的数据增强技术,包括随机裁剪、随机缩放、随机水平翻转等。
大小:大约2500万个参数 层数:5层卷积层,3层全连接层 特点:使用ReLU激活函数、LRN层、重叠池化、多尺度特征提取等

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, ZeroPadding2D
from tensorflow.keras.models import Sequential
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,将其调整为AlexNet所需的输入大小(227x227像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组,并对图像数据进行归一化处理。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:image = cv2.resize(image, (227, 227))  # AlexNet输入图像大小为227x227X_train.append(image)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train) / 255.0  # 归一化图像数据
y_train = np.array(y_train)
构建AlexNet模型:

使用Keras的Sequential模型,按照AlexNet的结构添加层。
模型包括卷积层(Conv2D)、最大池化层(MaxPooling2D)、全连接层(Dense)、dropout层(Dropout)等。
输出层使用softmax激活函数,因为这是一个多分类问题。

model = Sequential()
model.add(ZeroPadding2D((1, 1), input_shape=(227, 227, 3)))
model.add(Conv2D(96, (11, 11), strides=(4, 4), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(256, (5, 5), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(384, (3, 3), activation='relu'))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(384, (3, 3), activation='relu'))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(256, (3, 3), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(Flatten())
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(classes), activation='softmax'))
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:

使用fit方法训练模型,指定训练数据、迭代次数(epochs)、批量大小(batch_size)。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

LeNet-5

提出时间:1998年 主要贡献:LeNet-5是由Yann
LeCun提出的,它是第一个在实际中使用的卷积神经网络,主要用于手写数字识别。LeNet-5的设计非常简单,但它在当时的技术条件下取得了很好的效果。
结构特点:LeNet-5包含两个卷积层、两个池化层、三个全连接层和两个输出层。它的设计非常紧凑,只包含6万个参数,这使得它可以在当时的硬件条件下运行。
大小:大约6万个参数 层数:2层卷积层,3层全连接层 特点:非常早期的卷积神经网络,用于手写数字识别,结构简单,参数少。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。

import os
import cv2
import numpy as np
import tensorflow as tf
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

构建LeNet模型:遍历image_folder中的所有图像文件。
读取图像,并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

#加载图像数据和对应的标签
image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(image)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
构建LeNet模型:

使用Keras的Sequential模型,按照LeNet的结构添加层。
模型包括卷积层(Conv2D)、最大池化层(MaxPooling2D)、全连接层(Dense)等。
输出层使用softmax激活函数,因为这是一个多分类问题。

model = tf.keras.Sequential([tf.keras.layers.Conv2D(6, (5, 5), activation='relu', input_shape=(X_train.shape[1:])),tf.keras.layers.MaxPooling2D((2, 2)),tf.keras.layers.Conv2D(16, (5, 5), activation='relu'),tf.keras.layers.MaxPooling2D((2, 2)),tf.keras.layers.Flatten(),tf.keras.layers.Dense(120, activation='relu'),tf.keras.layers.Dense(84, activation='relu'),tf.keras.layers.Dense(len(classes), activation='softmax')
])
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

ResNet

提出时间:2015年 主要贡献:ResNet是第一个引入残差学习的深度网络,它通过引入残差块(Residual
Block)来解决深层网络训练困难的问题,这些残差块包含一个恒等连接,使得网络可以更稳定地训练更深层次的网络。
结构特点:ResNet包含多个残差块,每个残差块包含一个或多个卷积层,这些卷积层可以有不同的大小和数量。ResNet的层数通常比其他网络更深,如ResNet-50、ResNet-101、ResNet-152等。

大小:大约2500万个参数 层数:50层,包括17个残差块 特点:引入了残差学习,可以构建更深层次的网络,解决梯度消失和梯度爆炸问题。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型,如ResNet50。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import ResNet50
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为ResNet50所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用ResNet50模型进行迁移学习

加载预训练的ResNet50模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将ResNet50的输出连接到新的全连接层。

base_model = ResNet50(weights='imagenet', include_top=False)
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:
layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:

使用fit方法训练模型,指定训练数据、迭代次数(epochs)、批量大小(batch_size)。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

VGG-19

提出时间:2014年 主要贡献:VGG-16和VGG-19是由牛津大学的Karen Simonyan和Andrew
Zisserman提出的,它们通过使用非常小的3x3卷积核和大量重复的卷积层来构建深度网络,这使得它们在ImageNet竞赛中取得了很好的成绩。
结构特点:VGG-16包含16个卷积层和3个全连接层,而VGG-19包含19个卷积层和3个全连接层。VGG-16和VGG-19的卷积层都是使用3x3的卷积核,层与层之间使用2x2的最大池化层。

大小:大约1.38亿/1.45亿个参数 层数:16/19层卷积层,3层全连接层
特点:使用小尺寸的3x3卷积核和重复的卷积层,可以提取更丰富的特征。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型,如VGG19。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import VGG19
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

abel_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为VGG-19所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用VGG-19模型进行迁移学习

加载预训练的VGG-19模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将VGG-19的输出连接到新的全连接层。

base_model = VGG19(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:
model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

VGG-16

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import VGG19
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

abel_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为VGG-16所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用VGG-16模型进行迁移学习

加载预训练的VGG-16模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将VGG-16的输出连接到新的全连接层。

base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:
layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

训练模型:
model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net8.0与halcon编程环境构建

1.安装vs2022 2.安装h-12.0.exe ,不要勾选复选框 3.vs2022新建wpf应用程序 4.依赖项添加项目应用,选择halcondotnet.dll 5.安装System.Drawing 安装 HalconDotNet 安装 Rti.HDevEngineDotNet 在工具箱 空白处右键 应用halcon.dll WPF控件也应用halcon.dll 6.xaml申明hal…

5款ai文案自动生成器,让你写作爆款文案不犯难!

现如今,无论是用于社交媒体、广告宣传、网站内容还是其他各种领域,优秀的文案都能吸引更多的关注和流量。但是,对于许多创作者来说,想要创作出高质量的文案并非易事,常常会面临灵感枯竭、思路卡顿等问题。而现在有了一…

raid配置与实战

一、raid理论 1、raid概述 raid(磁盘阵列):是用不同的硬盘分区,组成一个逻辑上的硬盘,高可用(冗余)。 2、raid级别 2.1、raid0条带化存储 数据分散在多个物理磁盘上的存储方式,…

如何解压忘记了密码的加密zip压缩包?这两个方法收藏好!

加密是一种保护信息不被未经授权访问的重要手段。ZIP压缩包作为一种常见的文件压缩格式,zip文件加密是很多人都回去做的一件事情,那么zip加密文件如何解密?有几种方法可以解密呢?今天介绍几种方法给大家。 一、尝试常用密码 我们…

SAP实施方法论

SAP新实施方法论 RDS Activate

大摩“凑热闹”:当前氧化铝紧平衡,任何供给冲击都将导致价格急剧波动

大摩认为,全球有590万吨氧化铝供应受阻,相等于扣除中国后全球供应约一成,而氧化铝需求可能有所上升,同时氧化铝库存缓冲有限,因此任何供给冲击都将导致价格急剧波动。 文章内容 今年以来氧化铝期货价格一路上行&#…

Thingsboard规则链:Customer Attributes节点详解

在物联网(IoT)平台Thingsboard的规则引擎中,Customer Attributes节点扮演了至关重要的角色,它允许用户访问和操作与客户(Customer)实体相关的属性数据。这些属性可以是静态信息,如客户名称、联系信息,或是动…

python中的互斥锁、死锁、递归锁

互斥锁 Python中的互斥锁(Mutex,Mutual Exclusion)是一种同步原语,用于防止多个线程同时访问共享资源。在Python中,互斥锁通常是通过threading模块中的Lock类来实现的。 前面文章将的就是互斥锁:python中…

FreeRTOS学习笔记-基于stm32(7)任务状态查询与任务时间统计API函数

1、FreeRTOS任务相关API函数 函数描述uxTaskPriorityGet()查询某个任务的优先级vTaskPrioritySet()改变某个任务的任务优先级uxTaskGetSystemState()获取系统中任务状态vTaskGetInfo()获取某个任务信息xTaskGetApplicationTaskTag()获取某个任务的标签(Tag)值xTaskGetCurrentT…

idea 快捷键运用

ctrl d 向下复制一行 shiftalt↑/↓ 向上或者向下移动光标所在行 shiftctrl↑/↓ 向上或者向下移动光标所在行(自动对齐) shift F6 rename包名或者类名或者批量修改变量名(不建议更改项目名,包名也尽量别改) 输入if 然后ctrlshift回车 补全缺失的括号 shift …

C# 证件照替换底色与设置背景图---PaddleSegSharp

PaddleSegSharp 是一个基于百度飞桨PaddleSeg项目的人像分割模块而开发的.NET的工具类库。 PaddleSegSharp 中PaddleSeg.dll文件是基于开源项目最新发布版本PaddleSeg PaddleSeg的版本修改而成的C动态库,基于opencv的x64编译而成的。 PaddleSeg是基于飞桨PaddlePa…

在RT-Thread下为MPU手搓以太网MAC驱动-3

文章目录 MAC驱动支持不同的PHY芯片关于对PHY设备抽象的改进RT-Thread下PHY设备抽象接口的改进关于对PHY设备抽象的改进 这是个人驱动开发过程中做的一些记录,仅代表个人意见和理解,不喜勿喷 MAC驱动需要支持不同的PHY芯片 MAC驱动支持不同的PHY芯片 关…

spring分析工具_springboot startup analyze的部署和使用

工具是开源工具 ,可以放心使用 我是从开源中国OCSChina看到的顺便安利一下 部署 教程 https://github.com/linyimin0812/spring-startup-analyzer 直接下载地址 https://github.com/linyimin0812/spring-startup-analyzer/releases/download/v3.0.0/spring-startup-analyzer.…

Javaweb基础之Filter

大家好,这里是教授.F 引入: 为什么需要过滤器???我们在访问一个项目的时候,常常有很多页面,如果没有过滤器,则我们需要在用户访问一个页面的时候,都要进行一个校验&…

文心智能体平台:快来创建你的Java学习小助理,全方位辅助学习

文章目录 一、文心智能体平台1.1平台介绍1.2智能体介绍 二、智能体创建三、体验与总结 一、文心智能体平台 文心智能体平台是百度推出的基于文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类…

Python 元组

(1)元组中只包含一个元素时,需要在元素后面添加逗号: tup1 (50,); (2)元组中的元素值是不允许修改的,但我们可以对元组进行连接组合: tup1 (12, 34.56); tup2 (abc, xyz);# 以…

3D模型三角面转四角面操作指南---模大狮模型网

在3D建模的过程中,三角面(Triangles)和四角面(Quads)是两种常见的多边形类型。虽然三角面在渲染速度和计算效率上有其优势,但四角面在模型编辑和纹理映射上通常更为方便。因此,将三角面转换为四角面是建模过程中常见的需求。 一、选择合适的建…

【数值计算方法】雅可比解线性方程

废话少说&#xff0c;直接上干货。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define MaxSize 100 double A[MaxSize][MaxSize]; //系数矩阵 double B[MaxSize]; //系数矩阵 double C[MaxSize][MaxSize]; //去对角线矩阵 double …

window自动启动bat文件

开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0c;可选择所需用户&#xff0c;点击应用&#xff0c;输入远程的密码即可 开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0…

python 面对对象 类 基础

面对对象 程序是由数据和功能组合而成的对象构建起来的&#xff0c;对数据与函数绑定到一起&#xff0c;进行封装&#xff0c;能够更快速的开发程序&#xff0c;减少重复代码 class --- 类&#xff0c;类是对象的抽象化&#xff0c;具有相同特征或行为的事物的统称 类的定义…