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()
相关文章
|
区块链 存储
NFT链游铸造合成项目系统开发(详情方案)|NFT链游模式开发项目原理
Web3技术的兴起已经带来了我们与互联网互动方式的重大转变using(MySqlCommand cmd=new MySqlCommand(select,Conn))
|
6月前
|
存储 监控 测试技术
BRC铭文NFT铸造交易所系统开发运营版丨需求设计丨方案逻辑丨案例详细丨源码程序
需求分析:首先,明确系统的功能需求和业务流程。确定系统需要支持的NFT铸造功能、交易所功能
|
6月前
|
Python 容器 索引
BRC-20铭文合约NFT铸造交易平台系统开发规则玩法/详细步骤/项目方案/成熟技术/源码功能
有时候,像定义add2()这类简单的函数,用def来正式地写个命名、计算和返回显得稍有点麻烦,Python支持用lambda对简单的功能定义“行内函数”
|
安全 区块链
NFT卡牌链游系统开发详情指南(区块链游戏系统开发源码)丨NFT卡牌链游系统开发运营版/需求步骤/案例逻辑/源码说明
Requirement analysis and planning: Clarify the system's goals and functional requirements. Understand the characteristics and working methods of the NFT card chain game system. Collect user requirements, define system card rules, game modes, and transaction functions.
|
安全 区块链 数据安全/隐私保护
NFT铸造合成项目系统开发|DAPP开发
智能合约的特点包括可编程性、自治性、不可篡改性和安全性
|
人工智能 数据挖掘 物联网
NFT/Stepn/Jogger跑鞋链游铸造合成项目系统开发成熟稳定版/开发案例/规则玩法/源码平台
  NFT跑鞋链游项目则是将区块链技术应用到跑鞋领域中去的一个创新项目。通过NFT跑鞋链游项目,跑者可以将自己的跑鞋进行数字资产化,并在游戏中进行买卖和交换。这种数字资产化的跑鞋不仅可以让跑者更好地了解自己的跑鞋价值,还可以为跑者带来更多的社交和娱乐价值。
|
Web App开发 JavaScript 前端开发
openseaNFT艺术品交易平台开发部署 | openseaNFT艺术品交易平台开发源码示例
OpenSea的主要特点是统一的平台和标准化的流程。用户可以在平台上创建和管理自己的NFT,如艺术品、虚拟房地产、数字收藏品等。同时,OpenSea还提供了一个拍卖市场,让用户可以出售自己的NFT并获得收益。此外,该平台还支持用户在线浏览和购买其他用户铸造的NFT。
|
区块链 开发者
NFT盲盒系统开发实现构建技术分析(源码示例)
NFT盲盒系统的开发需要涉及到区块链技术、数字资产编码技术以及盲盒销售系统等多个方面。开发者需要考虑如何保证数字资产的安全性和惟一 性,同时还需要保证盲盒销售的顺畅和公正。 NFT盲盒系统的开发是一个复杂而创新的过程,需要技术、创意和资金的支持。
|
存储 JSON JavaScript
NFT链游系统开发(详细 及案例)丨NFT链游系统开发(区块链游戏)详情案例
NFT链游系统开发(详细 及案例)丨NFT链游系统开发(区块链游戏)详情案例
|
Python 计算机视觉 存储
什么是PIL派链NFT铸造系统开发丨PIL派链NFT铸造系统开发(开发详细)及源码案例
 cv::imread() 默认读取为三通道BGR,需要进行B/R通道交换,这里采用 cv::cvtColor()实现。