PIL派链NFT铸造开发运营版丨PIL派链NFT铸造系统开发(开发案例)及源码

简介: model:网络模型input_size:网络输入图片的shape,这里不用加batch_size进去batch_size:batch_size参数,默认是-1device:在GPU还是CPU上运行,默认是cuda在GPU上运行,如果想在CPU上执行将参数改为CPU即可

安装 torchsummary
pip install torchsummary
1
输出网络信息
summary函数介绍

model:网络模型
input_size:网络输入图片的shape,这里不用加batch_size进去
batch_size:batch_size参数,默认是-1
device:在GPU还是CPU上运行,默认是cuda在GPU上运行,如果想在CPU上执行将参数改为CPU即可

import torch
import torch.nn as nn
from torchsummary import summary

class Shallow_ConvNet(nn.Module):

def __init__(self, in_channel, conv_channel_temp, kernel_size_temp, conv_channel_spat, kernel_size_spat,
                          pooling_size, pool_stride_size, dropoutRate, n_classes, class_kernel_size) :
    super(Shallow_ConvNet, self).__init__()

    self.temp_conv = nn.Conv2d(in_channels=in_channel,
                                                                out_channels=conv_channel_temp,
                                                                kernel_size=(1, kernel_size_temp),
                                                                stride=1,
                                                                bias=False)

    self.spat_conv = nn.Conv2d(in_channels=conv_channel_temp,
                                                              out_channels=conv_channel_spat,
                                                              kernel_size=(kernel_size_spat, 1),
                                                              stride=1,
                                                              bias=False)

    self.bn = nn.BatchNorm2d(num_features=conv_channel_spat)

    # slef.act_conv = x*x

    self.pooling = nn.AvgPool2d(kernel_size=(1, pooling_size),
                                                               stride=(1, pool_stride_size))

    # slef.act_pool = log(max(x, eps))

    self.dropout = nn.Dropout(p=dropoutRate)

    self.class_conv = nn.Conv2d(in_channels=conv_channel_spat,
                                                                out_channels=n_classes,
                                                                kernel_size=(1, class_kernel_size),
                                                                bias=False)

    self.softmax = nn.Softmax(dim=1)

def safe_log(self, x):
    """ Prevents :math:`log(0)` by using :math:`log(max(x, eps))`."""
    return torch.log(torch.clamp(x, min=1e-6))

def forward(self, x):
    # input shape (batch_size, C, T)
    if len(x.shape) is not 4:
        x = torch.unsqueeze(x, 1)
    # input shape (batch_size, 1, C, T)
    x = self.temp_conv(x)
    x = self.spat_conv(x)
    x = self.bn(x)
    x = x*x # conv_activate
    x = self.pooling(x)
    x = self.safe_log(x) # pool_activate
    x = self.dropout(x)
    x = self.class_conv(x)
    x= self.softmax(x)
    out = torch.squeeze(x)

    return out

============================ Initialization parameters ============================

channels = 44
samples = 534

in_channel = 1
conv_channel_temp = 40
kernel_size_temp = 25
conv_channel_spat = 40
kernel_size_spat = channels
pooling_size = 75
pool_stride_size = 15
dropoutRate = 0.3
n_classes = 4
class_kernel_size = 30

def main():

input = torch.randn(32, 1, channels, samples)
model = Shallow_ConvNet(in_channel, conv_channel_temp, kernel_size_temp, conv_channel_spat, kernel_size_spat,
                                                        pooling_size, pool_stride_size, dropoutRate, n_classes, class_kernel_size)
out = model(input)
print('===============================================================')
print('out', out.shape)
print('model', model)
summary(model=model, input_size=(1,channels,samples), batch_size=32, device="cpu")

if name == "__main__":

main()
相关文章
|
存储 安全 算法
Jogger跑鞋NFT铸造合成分红系统开发成熟技术方案及详细/源码功能
  区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
|
区块链 存储
NFT链游铸造合成项目系统开发(详情方案)|NFT链游模式开发项目原理
Web3技术的兴起已经带来了我们与互联网互动方式的重大转变using(MySqlCommand cmd=new MySqlCommand(select,Conn))
|
安全 区块链
NFT卡牌游戏链游系统开发|NFT铸造合约模式系统开发(成熟技术)
区块链技术的点对点、共同参与等特点,保障了参与者最大程度上的自由和隐私
|
安全 区块链 数据安全/隐私保护
NFT铸造合成项目系统开发|DAPP开发
智能合约的特点包括可编程性、自治性、不可篡改性和安全性
|
区块链 开发者
NFT盲盒系统开发实现构建技术分析(源码示例)
NFT盲盒系统的开发需要涉及到区块链技术、数字资产编码技术以及盲盒销售系统等多个方面。开发者需要考虑如何保证数字资产的安全性和惟一 性,同时还需要保证盲盒销售的顺畅和公正。 NFT盲盒系统的开发是一个复杂而创新的过程,需要技术、创意和资金的支持。
|
存储 JSON JavaScript
NFT链游系统开发(详细 及案例)丨NFT链游系统开发(区块链游戏)详情案例
NFT链游系统开发(详细 及案例)丨NFT链游系统开发(区块链游戏)详情案例
|
Python 计算机视觉 存储
什么是PIL派链NFT铸造系统开发丨PIL派链NFT铸造系统开发(开发详细)及源码案例
 cv::imread() 默认读取为三通道BGR,需要进行B/R通道交换,这里采用 cv::cvtColor()实现。
PIL派链NFT铸造系统开发(方案及详细)丨PIL派链NFT铸造开发源码版
cmake_minimum_required(VERSION 3.0 FATAL_ERROR) project(resnet50)
PIL派链NFT铸造系统开发详细技术分析丨代码部署
// remove bsv and token from liquidity pool public function removeLiquidity(PubKey sender, int lpAmount, Sig senderSig, int oldTokenBalance, int senderKeyIndex, int senderBalance,
|
存储 区块链 vr&ar
NFT元宇宙链游开发设计逻辑丨NFT元宇宙链游开发源码示例
使用NFT元宇宙链游开发系统,开发者可以创建一个独特的数字世界,并添加功能丰富的故事情节、游戏规则、卡片、角色、本地角色和游戏工作室等内容。所有功能都是通过NFT代币来衡量的,例如卡中有效性的透明度;决赛前的分数将被隐藏并存储在NFT代币上。