| 101 | } |
| 102 | |
| 103 | float gradient(float x, ACTIVATION a) |
| 104 | { |
| 105 | switch(a){ |
| 106 | case LINEAR: |
| 107 | return linear_gradient(x); |
| 108 | case LOGISTIC: |
| 109 | return logistic_gradient(x); |
| 110 | case LOGGY: |
| 111 | return loggy_gradient(x); |
| 112 | case RELU: |
| 113 | return relu_gradient(x); |
| 114 | case ELU: |
| 115 | return elu_gradient(x); |
| 116 | case RELIE: |
| 117 | return relie_gradient(x); |
| 118 | case RAMP: |
| 119 | return ramp_gradient(x); |
| 120 | case LEAKY: |
| 121 | return leaky_gradient(x); |
| 122 | case TANH: |
| 123 | return tanh_gradient(x); |
| 124 | case PLSE: |
| 125 | return plse_gradient(x); |
| 126 | case STAIR: |
| 127 | return stair_gradient(x); |
| 128 | case HARDTAN: |
| 129 | return hardtan_gradient(x); |
| 130 | case LHTAN: |
| 131 | return lhtan_gradient(x); |
| 132 | } |
| 133 | return 0; |
| 134 | } |
| 135 | |
| 136 | void gradient_array(const float *x, const int n, const ACTIVATION a, float *delta) |
| 137 | { |
no test coverage detected