注意:代码实现的题目,需要提交实现代码

注意:代码实现的题目,需要提交实现代码

注意:代码实现的题目,需要提交实现代码

task1.1

  1. 解释神经网络中卷积层的作用。

  2. 解释神经网络中池化层的作用。

  3. 解释神经网络中连接层的作用。

  4. 解释神经网络中激活函数层的作用。

  5. 解释神经网络中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网络图

darknet53网络图

  • yolov3网络图

yolov3网络图