import os
import cv2
import torch
import numpy as np
import random
import cv2 as cv
from matplotlib import pyplot as plt
def f_VerifyConv2D():
"""
验证torch.nn.Conv2d, 并将输入数据及权重保存到txt文件中
"""
x = torch.randn(1, 1, 10, 10)
x = x.round().float()
print('==========================================================================')
print('================================== 输入数据 ')
print(x)
kernel_size = 1
conv_zeros = torch.nn.Conv2d(in_channels=1, out_channels=3, kernel_size=kernel_size, stride=1, padding=0, bias=True)
conv_zeros.weight = torch.nn.Parameter(torch.ones(1, 1, kernel_size, kernel_size))
conv_zeros.bias = torch.nn.Parameter(torch.ones(1))
y = conv_zeros(x)
print('==========================================================================')
print('================================== 卷积权重数据 ')
print(conv_zeros.state_dict())
print('==========================================================================')
print('================================== 卷积输出数据 ')
print(y)
print('==========================================================================')
print('================================== 保存参数txt ')
# 保存输入数据到1.txt
ndarray = x.numpy()
ndarray = ndarray.reshape(-1).astype(np.int16)
ndarray[np.where(ndarray < 0)] = np.add(ndarray[np.where(ndarray < 0)], 256) # 将负数以补码的形式进行存储
np.savetxt("1.txt", ndarray, fmt='%x', delimiter='\n')
# 保存输出结果到2.txt
ndarray_o = y.detach().numpy()
ndarray_o = ndarray_o.reshape(-1).astype(np.int16)
ndarray_o[np.where(ndarray_o < 0)] = np.add(ndarray_o[np.where(ndarray_o < 0)], 256) # 将负数以补码的形式进行存储
np.savetxt("2.txt", ndarray_o, fmt='%x', delimiter='\n')
f_VerifyConv2D()
验证torch.nn.Conv2d
于 2024-05-16 10:07:21 首次发布
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
PyTorch 2.5
PyTorch
Cuda
PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理
4252

被折叠的 条评论
为什么被折叠?



