a

卷积神经计算

#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: