pytorch 방법 테스트 - 볼륨 (3차원)
10860 단어 pytorch
import torch
import torch.nn as nn
import torch.autograd as autograd
m = nn.Conv3d(2, 1, 3, stride=2)
input = autograd.Variable(torch.randn(1, 2, 3, 5, 6))
output = m(input)
print(" :")
print(input)
print(" :")
print(m.weight)
print(" :")
print(m.bias)
print(" :")
print(output)
print(" :")
print(output.size())
convBlockOne = 0
convBlockOneStride = 0
for i in range(3):
for j in range(3):
for k in range(3):
#
convBlockOne += m.weight[0][0][i][j][k] * input[0][0][i][j][k] \
+ m.weight[0][1][i][j][k] * input[0][1][i][j][k]\
# ( stride 2)
convBlockOneStride += m.weight[0][0][i][j][k] * input[0][0][i][j+2][k] \
+ m.weight[0][1][i][j][k] * input[0][1][i][j+2][k]
convBlockOne += m.bias[0]
convBlockOneStride += m.bias[0]
print(" :")
print(convBlockOne)
print(" ( stride 2) :")
print(convBlockOneStride)
:
:
tensor([[[[[-0.2675, 0.0556, -1.9855, 1.7392, -0.6632, 0.1453],
[ 0.7349, 0.9476, 0.5355, -0.5594, 2.1242, 1.4058],
[ 1.6077, 0.4459, -0.9089, -1.0717, 0.9295, -0.4676],
[ 0.5669, 2.0196, -0.5530, 0.5664, -0.0614, -0.5880],
[-0.2644, 2.4068, 0.8025, 0.7653, -0.4151, -1.7002]],
[[-0.7315, 0.5338, -0.8345, -0.5890, -0.3181, 0.1182],
[-0.4932, 0.4393, -2.2104, 1.6638, -1.9973, -0.5577],
[ 1.5920, 0.9191, 0.0097, 1.3372, -0.7334, -0.1244],
[-0.3916, -0.7088, 0.2680, -0.1301, -1.3089, -1.6015],
[-0.5146, 0.3306, -0.0946, 0.7855, 0.6388, 0.1586]],
[[ 1.9393, -1.4019, 0.2299, -0.9965, 0.7452, 0.3587],
[-1.3883, -1.1940, 0.8678, -0.5619, 0.0258, -0.4928],
[-2.0170, -0.3001, -1.0647, -0.7010, -1.4591, -0.0430],
[-0.2462, 0.1500, 0.1057, 0.4905, 0.0698, 0.4276],
[ 1.3770, -0.3881, 0.5839, -1.2195, 0.1621, 1.7151]]],
[[[-0.5271, 1.1861, -0.0419, -1.3207, -0.5641, 0.3916],
[ 1.3733, 0.6005, 0.1389, -1.4528, -0.4616, -0.5287],
[ 1.2038, 0.6351, -1.0303, -0.2564, 0.5147, -1.1273],
[ 1.6099, -1.8206, -0.6026, 1.3047, -0.5663, 0.2222],
[-0.3679, -0.2235, 0.4051, 1.3802, 0.7523, -0.5938]],
[[-0.1804, -1.8722, 2.2938, 2.7384, 0.1001, 0.8501],
[-0.1188, 1.1934, -1.4962, -2.2822, 0.7555, 0.3891],
[ 2.1036, -0.8809, 0.1145, -0.8379, 0.2282, 2.1451],
[ 1.4755, -2.1665, 0.7929, -0.0130, -0.3857, -0.0294],
[-1.0380, 0.1234, 2.1946, -1.3495, -0.4712, 0.9102]],
[[-1.0044, -1.5893, -1.2136, -0.0563, 2.0776, 0.9950],
[-0.9101, 0.4796, 0.3117, 0.1360, -2.4304, 0.4099],
[ 0.0862, 1.0328, 0.9845, -0.9481, 1.9113, 1.3451],
[-0.1578, -0.4626, 0.3089, -0.9687, -1.5955, 0.8957],
[ 0.6446, -0.0345, 0.2948, 0.8574, -0.5022, -0.5117]]]]])
:
Parameter containing:
tensor([[[[[ 0.0134, 0.1058, -0.0204],
[-0.1219, 0.0881, -0.0455],
[-0.0813, 0.0803, 0.0774]],
[[-0.0703, -0.0120, -0.0227],
[-0.0820, 0.0459, -0.0942],
[ 0.0043, -0.0486, -0.1331]],
[[-0.1315, -0.0889, 0.1048],
[-0.1034, 0.0881, 0.0259],
[-0.0182, 0.0609, 0.0272]]],
[[[-0.1038, 0.0391, 0.0325],
[-0.0242, 0.1138, 0.0522],
[ 0.0649, 0.0600, -0.0476]],
[[ 0.1099, -0.0557, 0.0714],
[-0.0997, -0.0301, -0.0354],
[-0.1291, -0.0227, 0.0915]],
[[-0.0529, -0.0907, 0.0566],
[-0.0386, -0.0340, -0.0872],
[-0.0612, -0.0455, -0.0208]]]]])
:
Parameter containing:
tensor(1.00000e-02 *
[-7.2022])
:
tensor([[[[[ 0.4036, 0.7170],
[ 0.4118, 0.1331]]]]])
:
torch.Size([1, 1, 1, 2, 2])
:
tensor(0.4036)
( stride 2) :
tensor(0.4118)
는 2차원 권적과 마찬가지로 권적핵(이 예는 하나의 권적핵이고 차원은 2*3*3*3)을 기억하기만 하면 된다.:
그리고 그 안의 차원과 입력 그림의 차원을 곱하고 마지막에 편중을 더하면 된다.[[[[[ 0.0134, 0.1058, -0.0204], [-0.1219, 0.0881, -0.0455], [-0.0813, 0.0803, 0.0774]], [[-0.0703, -0.0120, -0.0227], [-0.0820, 0.0459, -0.0942], [ 0.0043, -0.0486, -0.1331]], [[-0.1315, -0.0889, 0.1048], [-0.1034, 0.0881, 0.0259], [-0.0182, 0.0609, 0.0272]]], [[[-0.1038, 0.0391, 0.0325], [-0.0242, 0.1138, 0.0522], [ 0.0649, 0.0600, -0.0476]], [[ 0.1099, -0.0557, 0.0714], [-0.0997, -0.0301, -0.0354], [-0.1291, -0.0227, 0.0915]], [[-0.0529, -0.0907, 0.0566], [-0.0386, -0.0340, -0.0872], [-0.0612, -0.0455, -0.0208]]]]]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정확도에서 스케일링의 영향데이터셋 스케일링은 데이터 전처리의 주요 단계 중 하나이며, 데이터 변수의 범위를 줄이기 위해 수행됩니다. 이미지와 관련하여 가능한 최소-최대 값 범위는 항상 0-255이며, 이는 255가 최대값임을 의미합니다. 따...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.