神经网络备案

请写一个三层神经网络结构,开头3个,第二个隐藏6个,三个是4,输出1的神经网络结构,并打印出这个模型各个层的参数,同时将参数保留在一个列表里面,这个列表的全部参数翻倍再赋值给一个新的模型

import torch
import torch.nn as nn

# 定义神经网络结构
class NeuralNetwork(nn.Module):
    def __init__(self):
        super(NeuralNetwork, self).__init__()
        self.fc1 = nn.Linear(3, 6)
        self.fc2 = nn.Linear(6, 4)
        self.fc3 = nn.Linear(4, 1)

    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = torch.relu(self.fc2(x))
        x = self.fc3(x)
        return x
# 自定义初始化函数
def init_weights(m):
    if type(m) == nn.Linear:
        torch.nn.init.uniform_(m.weight, a=-1, b=1)
        torch.nn.init.uniform_(m.bias, a=-1, b=1)

# 创建神经网络实例
model = NeuralNetwork()

# 打印模型结构
#print(model)
model.apply(init_weights)
# 打印模型各个层的参数
for name, param in model.named_parameters():
    print(f"Layer: {name} | Size: {param.size()} | Values: {param}")



params_list=[param.clone() for name,param in model.named_parameters()]

# 将列表中的值翻倍
for param in params_list:
    param.data*=2

# 将翻倍后的参数值赋值回模型
index = 0
for param in model.parameters():
    param.data = params_list[index]
    index += 1

    print(index,param.data)

# 打印模型各个层的参数
for name, param in model.named_parameters():
    print(f"Layer: {name} | Size: {param.size()} | Values: {param}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹落叶花飘荡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值