函数作用:模型初始化 Conv1 -> Pool1 -> Conv2 -> Pool2 -> Flatten -> FC3 -> FC4 -> FC5 -> Softmax
(self)
| 1071 | self.is_initialized = False |
| 1072 | |
| 1073 | def _set_params(self): |
| 1074 | """ |
| 1075 | 函数作用:模型初始化 |
| 1076 | Conv1 -> Pool1 -> Conv2 -> Pool2 -> Flatten -> FC3 -> FC4 -> FC5 -> Softmax |
| 1077 | """ |
| 1078 | self.layers = OrderedDict() |
| 1079 | self.layers["Conv1"] = Conv2D_gemm( |
| 1080 | out_ch=self.conv1_out_ch, |
| 1081 | kernel_shape=self.conv1_kernel_shape, |
| 1082 | pad=self.conv1_pad, |
| 1083 | stride=self.conv1_stride, |
| 1084 | acti_fn="sigmoid", |
| 1085 | optimizer=self.optimizer, |
| 1086 | init_w=self.init_w, |
| 1087 | ) |
| 1088 | self.layers["Pool1"] = Pool2D( |
| 1089 | mode="max", |
| 1090 | optimizer=self.optimizer, |
| 1091 | stride=self.pool1_stride, |
| 1092 | kernel_shape=self.pool1_kernel_shape, |
| 1093 | ) |
| 1094 | self.layers["Conv2"] = Conv2D_gemm( |
| 1095 | out_ch=self.conv1_out_ch, |
| 1096 | kernel_shape=self.conv1_kernel_shape, |
| 1097 | pad=self.conv1_pad, |
| 1098 | stride=self.conv1_stride, |
| 1099 | acti_fn="sigmoid", |
| 1100 | optimizer=self.optimizer, |
| 1101 | init_w=self.init_w, |
| 1102 | ) |
| 1103 | self.layers["Pool2"] = Pool2D( |
| 1104 | mode="max", |
| 1105 | optimizer=self.optimizer, |
| 1106 | stride=self.pool2_stride, |
| 1107 | kernel_shape=self.pool2_kernel_shape, |
| 1108 | ) |
| 1109 | self.layers["Flatten"] = Flatten(optimizer=self.optimizer) |
| 1110 | self.layers["FC3"] = FullyConnected( |
| 1111 | n_out=self.fc3_out, |
| 1112 | acti_fn="sigmoid", |
| 1113 | init_w=self.init_w, |
| 1114 | optimizer=self.optimizer |
| 1115 | ) |
| 1116 | self.layers["FC4"] = FullyConnected( |
| 1117 | n_out=self.fc4_out, |
| 1118 | acti_fn="sigmoid", |
| 1119 | init_w=self.init_w, |
| 1120 | optimizer=self.optimizer |
| 1121 | ) |
| 1122 | self.layers["FC5"] = FullyConnected( |
| 1123 | n_out=self.fc5_out, |
| 1124 | acti_fn="affine(slope=1, intercept=0)", |
| 1125 | init_w=self.init_w, |
| 1126 | optimizer=self.optimizer |
| 1127 | ) |
| 1128 | self.is_initialized = True |
| 1129 | |
| 1130 | def forward(self, X_train): |
no test coverage detected