(input_shape, n_classes, bitW, bitA)
| 56 | |
| 57 | |
| 58 | def model(input_shape, n_classes, bitW, bitA): |
| 59 | in_net = Input(shape=input_shape, name='input') |
| 60 | net = QuanConv2dWithBN(64, (5, 5), (1, 1), act='relu', padding='SAME', bitW=bitW, bitA=bitA, name='qcnnbn1')(in_net) |
| 61 | net = MaxPool2d((3, 3), (2, 2), padding='SAME', name='pool1')(net) |
| 62 | net = QuanConv2dWithBN(64, (5, 5), (1, 1), padding='SAME', act='relu', bitW=bitW, bitA=bitA, name='qcnnbn2')(net) |
| 63 | net = MaxPool2d((3, 3), (2, 2), padding='SAME', name='pool2')(net) |
| 64 | net = Flatten(name='flatten')(net) |
| 65 | net = QuanDense(384, act=tf.nn.relu, bitW=bitW, bitA=bitA, name='qd1relu')(net) |
| 66 | net = QuanDense(192, act=tf.nn.relu, bitW=bitW, bitA=bitA, name='qd2relu')(net) |
| 67 | net = Dense(n_classes, act=None, name='output')(net) |
| 68 | net = Model(inputs=in_net, outputs=net, name='dorefanet') |
| 69 | return net |
| 70 | |
| 71 | |
| 72 | # training settings |
no test coverage detected
searching dependent graphs…