卷积神经计算
#include<iostream>#include<string>#include<algorithm>#include<iomanip>#include<vector>#include<math.h>struct lv { long long qi[3][3]; double bias; };using namespace std; int main() {
long long dai[7][7];
for (int i = 0; i < 7; i++) {
for (int t = 0; t < 7; t++) {
if (i == 0 || i == 6) { dai[i][t] = 0; }
if(t==0||t==6) { dai[i][t] = 0; }
}
}
for (int i = 1; i < 6; i++) {
for (int t = 1; t < 6; t++) {
cin >> dai[i][t];
}
}
int num;
cin >> num;
lv a[num];
for (int j = 0; j < num;j++) {
for (int i = 0; i < 3; i++) {
for (int t = 0; t < 3; t++) {
cin >> a[j].qi[i][t];
}
}
}
lv b[num];
for (int p = 0; p < num; p++) {
for (int i = 0; i < 3; i++) {
for (int t = 0; t < 3; t++) {
b[p].qi[i][t] = 0;
}
}
}
lv c[num];
for (int p = 0; p < num; p++) {
for (int i = 0; i < 3; i++) {
for (int t = 0; t < 3; t++) {
c[p].qi[2-i][2-t] = a[p].qi[i][t];
}
}
}
for (int p = 0; p < num; p++) {
for (int i = 0; i < 3; i++) {
for (int t = 0; t < 3; t++) {
for (int j = 0; j < 3; j++) {
for (int o = 0; o < 3; o++) {
b[p].qi[i][t] += (a[p].qi[j][o]*dai[j+i*2][o+t*2]);
}
}
}
}
}
for (int p = 0; p < num; p++) {
cin >> b[p].bias;
}
for (int p = 0; p < num; p++) {
for (int i = 0; i < 3; i++) {
for (int t = 0; t < 3; t++) {
cout<<b[p].qi[i][t]+b[p].bias<<" ";
}
cout << endl;
}
}
return 0;
}`
date: 2022-11-04 17:41:28
tags: