请给我一份基于paddlepaddle的单输入单输出,中间层层数待定的全连接神经网络代码
时间: 2023-12-14 21:37:51 浏览: 138
基于paddle框架实现的多任务模型源码
好的,以下是一个基于PaddlePaddle的单输入单输出的全连接神经网络代码示例:
```python
import paddle
import paddle.nn as nn
class Net(nn.Layer):
def __init__(self, input_size, output_size, hidden_size=128, num_layers=2):
super(Net, self).__init__()
self.layers = nn.Sequential()
self.layers.add_sublayer("fc0", nn.Linear(input_size, hidden_size))
self.layers.add_sublayer("relu0", nn.ReLU())
for i in range(1, num_layers):
self.layers.add_sublayer(f"fc{i}", nn.Linear(hidden_size, hidden_size))
self.layers.add_sublayer(f"relu{i}", nn.ReLU())
self.layers.add_sublayer("fc_last", nn.Linear(hidden_size, output_size))
def forward(self, x):
x = self.layers(x)
return x
```
其中,`input_size`表示输入数据的特征维度,`output_size`表示输出数据的特征维度,`hidden_size`表示每个隐藏层的特征维度,`num_layers`表示隐藏层的数量。
在这个例子中,我们使用了`nn.Sequential()`来定义一个神经网络序列,其中包含一个输入层、若干个隐藏层和一个输出层。在循环中,我们根据`num_layers`的数量,依次添加隐藏层。
最后,在`forward`函数中,我们将输入数据`x`传入`layers`序列中,得到输出结果`x`。
阅读全文