神经网络——线性层

23 篇文章 4 订阅
14 篇文章 1 订阅

        线性层参数 in_features 就是输入x,out_features 是线性层的输出是上图的g。x到g的关系式为:g_{j}=w_{ij}*x_{i}+b_{ij},其中的w_{ij}是权重,b_{ij}是偏置(参数bias为True时,才存在)。阅读官方文档可知,weight和bias都是从分布中采样初始化,经过训练得最终结果。

在vgg16模型中, 将224*224*3的图片转变为了1*1*4096的大小,经过训练,得到最终的1*1*1000的结果。 

我们也采取相同的方式:

import torch
import torchvision
from torch.utils.data import DataLoader

dataset = torchvision.datasets.CIFAR10("./dataset", False, torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset, 64)

for data in dataloader:
    imgs, targets = data
    input = torch.reshape(imgs, [1, 1, 1, -1])

 打印形状的大小:[1, 1, 1, 196608]。编写网络,有196608个输入和10个输出:

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        self.linear = nn.Linear(196608, 10)

    def forward(self, input):
        return self.linear(input)

 实例化后,将imgs传入实例化对象,即可线性处理。

我们可以使用函数直接将imgs变为一行数据:

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
思维进化算法(Thought Evolution Algorithm,TEA)是一种启发式优化算法,可以用来优化神经网络的训练结果。对于非线性函数拟合问题,BP神经网络是一种经典的方法,但是它的收敛速度较慢且易于陷入局部最优解。因此,采用TEA算法来优化BP神经网络可以提高其性能。 在使用TEA算法优化BP神经网络时,首先需要初始化神经网络的权重和偏置参数。然后,通过TEA算法对这些参数进行优化。TEA算法的核心思想是通过选择和改进个体来搜索最佳解,以便在解空间中进行进化。 TEA算法主要包含选择、交叉和突变三个基本操作。其中,选择阶段通过适应度函数选出优秀的个体作为父代,并且为个体分配相应的概率。交叉阶段将父代个体进行基因交换操作,生成新的子代个体。突变阶段通过微小的改变来引入新的个体。 在每一代中,通过选择、交叉和突变操作,更好的个体会逐渐被筛选出来,并逐渐趋近于最佳解。通过不断地迭代,TEA算法可以优化BP神经网络,提高其在非线性函数拟合问题上的性能。 总结起来,通过思维进化算法优化BP神经网络可以提高其在非线性函数拟合问题上的效果。TEA算法通过选择、交叉和突变等操作来搜索最佳解,通过不断迭代逐渐优化神经网络的参数,从而提高其训练性能和预测能力。这种综合运用两种算法的方法可以得到更好的非线性函数拟合结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值