人工智能考核
注意:代码实现的题目,需要提交实现代码
注意:代码实现的题目,需要提交实现代码
注意:代码实现的题目,需要提交实现代码
task1.1
-
解释神经网络中卷积层的作用。
-
解释神经网络中池化层的作用。
-
解释神经网络中连接层的作用。
-
解释神经网络中激活函数层的作用。
-
解释神经网络中Dropout层的作用。
对于你给出的解释,请给出相应的PaddlePaddle对应的函数,并尽可能的解释函数参数的意义
(也可以是Pytorch/Tensorflow中的函数)
task2.1
在一个单层感知器中,假设有两个输入特征和一个输出。
权重分别是w1 = 0.5,w2 = -0.3,偏差为b = 0.1。
输入特征为x1 = 2,x2 = -1。
计算输出(假设激活函数是阶跃函数)。
task2.2(代码实现)
假设你有一个包含两个隐藏层的前馈神经网络,每个隐藏层分别有3个神经元。
输入层有4个特征,输出层有2个神经元。
所有的激活函数都是ReLU。
编写一个函数来计算整个网络的输出,给定输入和网络参数。
例如,一二三层权重为以下值时:
第一层权重:
W1:[[ 0.32361505, -1.08053636, 1.94312927],
[1.87599918, 0.09333858, -0.54394708],
[0.31721595, 0.15919131, 0.75238423],
[0.52593422, 0.39281801, 0.47263081]]B1:
[[-0.95059911, -0.78673449, -0.27075615]]
第二层权重:
W2:[[-1.11562289, -1.05667625, 1.17330918],
[ 1.15682221, 0.30359694, -0.32633211],
[0.44536135, 0.31302144, -1.16012537]]B2:
[[ 1.48936813, -0.50073038, -0.16725209]]
第一层权重:
W3:[[-0.06277751, -0.52103597],
[-0.29022904, 1.55451498],
[-0.80766273, -0.24495497]]B3:
[[0.97822396, 1.32775756]]
输入:[[1, 2, 3, 4]]
输出为:[[-0.21243352 0.96664461]]
task3.1(代码实现)
题目:线性回归模型
使用PaddlePaddle框架(Paddle Pytorch Tensorflow,或者自己手写线性回归网络都可)搭建一个简单的线性回归模型,对data.csv数据集中的数据进行训练,并预测新数据点的值。
提示
使用paddle.nn.Linear创建一个具有单个输入和单个输出的线性层。
定义损失函数和优化器。
训练模型以拟合数据。
对新数据进行预测。
注意
线性数据的含义是:
y = kx + b
你需要构建一个神经网络完成k和b参数的推理载入数据集中的数据可以采用以下方式:
1
2
3
4
import pandas as pd
df = pd.read_csv("training_data.csv")
X_train = df["X"].values.astype("float32")
y_train = df["y"].values.astype("float32")训练方式不限
训练框架不限(Paddle Pytorch Tensorflow,或者自己手写线性回归网络都可)
需要将训练好的模型导出为可被调用的文件
比如
.pdmodel
.h5等模型文件
以便测试调用提交题目时需要一并提交模型训练代码
task3.2(代码实现)
题目:卷积神经网络(CNN)分类
使用PaddlePaddle框架构建一个简单的卷积神经网络(CNN),用于对MNIST手写数字数据集进行分类。
(Paddle Pytorch Tensorflow等框架都可)
提示
构建一个包含卷积层、池化层和全连接层的CNN模型。
加载MNIST数据集,可以使用paddle.vision.datasets.MNIST。
定义损失函数和优化器。
训练模型以对手写数字进行分类。
评估模型性能并进行预测。
注意
载入数据集中的数据可以采用以下方式:
1
2
3
4
5
6
7
from paddle.vision.transforms import Compose, Normalize
from paddle.vision.datasets import MNIST
from yolov3.net import LeNet, SimpleCNN
transform = Compose([Normalize(mean=[127.5], std=[127.5], data_format='CHW')])
train_dataset = MNIST(mode='train', transform=transform)
train_loader = paddle.io.DataLoader(train_dataset, batch_size=256, shuffle=True)训练方式不限
训练框架不限(Paddle Pytorch Tensorflow,或者自己手写线性回归网络都可)
需要将训练好的模型导出为可被调用的文件
比如
.pdmodel
.h5等模型文件
以便测试调用提交题目时需要一并提交模型训练代码
task4(代码实现)
请根据提供的YoloV3网格结构,构建YoloV3模型,题目提交时需提交实现代码
- darknet53网络图
- yolov3网络图