test ready

This commit is contained in:
Francesco Gatti
2017-06-29 12:26:51 +00:00
parent ba215c35c0
commit 0a0acb9b1d
3 changed files with 17 additions and 13 deletions
+5 -2
View File
@@ -9,7 +9,7 @@
__global__
void activation_elu(value_type *input, value_type *output, int size) {
int i = threadIdx.x*(blockIdx.x +1);
int i = blockDim.x*blockIdx.x + threadIdx.x;
if(i<size) {
value_type k0, k1;
@@ -30,6 +30,9 @@ void activation_elu(value_type *input, value_type *output, int size) {
*/
void activationELUForward(value_type* srcData, value_type* dstData, int size)
{
activation_elu<<<(size+255)/256, 256>>>(srcData, dstData, size);
int blocks = (size+255)/256;
int threads = 256;
activation_elu<<<blocks, threads>>>(srcData, dstData, size);
checkCuda( cudaDeviceSynchronize() );
}
+8 -7
View File
@@ -17,18 +17,19 @@ def dense_model():
batch_input_shape=(1, 100, 100, 4), # 100by100by2
output_shape=(100, 100, 4, 1))) # 100by100by2
model.add(Convolution3D(16, kernel_size=(8, 8, 2), subsample=(4, 4, 1), border_mode="valid",
bias_initializer="random_uniform", activation="relu"))
#model.add(ELU())
bias_initializer="random_uniform"))
model.add(ELU())
model.add(AveragePooling3D(pool_size=(2, 2, 1)))
model.add(Convolution3D(16, kernel_size=(4, 4, 2), subsample=(2, 2, 1), border_mode="valid",
bias_initializer="random_uniform", activation="relu"))
bias_initializer="random_uniform"))
model.add(ELU())
model.add(Convolution3D(24, kernel_size=(3, 3, 2), subsample=(1, 1, 1), border_mode="valid",
bias_initializer="random_uniform", activation="relu"))
#model.add(ELU())
bias_initializer="random_uniform"))
model.add(ELU())
model.add(Flatten())
model.add(Dense(256, activation="relu", bias_initializer="random_uniform"))
model.add(Dense(256, bias_initializer="random_uniform"))
model.add(ELU())
model.add(Dense(32, activation="relu", bias_initializer="random_uniform"))
#model.add(ELU())
model.add(Dense(2, bias_initializer="random_uniform"))
sgd = keras.optimizers.Adam(lr=1e-4, decay=1e-8)
+4 -4
View File
@@ -22,15 +22,15 @@ int main() {
tkDNN::dataDim_t dim(1, 1, 100, 100, 4);
tkDNN::MulAdd m0 (&net, dim, 2, -1);
tkDNN::Conv3d c0 (&net, m0.output_dim, 16, 8, 8, 2, 4, 4, 1, c0_bin, c0_bias_bin);
tkDNN::Activation a0 (&net, c0.output_dim, tkDNN::ACTIVATION_RELU);
tkDNN::Activation a0 (&net, c0.output_dim, tkDNN::ACTIVATION_ELU);
tkDNN::Pooling p0 (&net, a0.output_dim, 2, 2, 2, 2, tkDNN::POOLING_AVERAGE);
tkDNN::Conv3d c1 (&net, p0.output_dim, 16, 4, 4, 2, 2, 2, 1, c1_bin, c1_bias_bin);
tkDNN::Activation a1 (&net, c1.output_dim, tkDNN::ACTIVATION_RELU);
tkDNN::Activation a1 (&net, c1.output_dim, tkDNN::ACTIVATION_ELU);
tkDNN::Conv3d c2 (&net, a1.output_dim, 24, 3, 3, 2, 1, 1, 1, c2_bin, c2_bias_bin);
tkDNN::Activation a2 (&net, c2.output_dim, tkDNN::ACTIVATION_RELU);
tkDNN::Activation a2 (&net, c2.output_dim, tkDNN::ACTIVATION_ELU);
tkDNN::Flatten f2 (&net, a2.output_dim);
tkDNN::Dense d3 (&net, f2.output_dim, 256, d3_bin, d3_bias_bin);
tkDNN::Activation a3 (&net, d3.output_dim, tkDNN::ACTIVATION_RELU);
tkDNN::Activation a3 (&net, d3.output_dim, tkDNN::ACTIVATION_ELU);
tkDNN::Dense d4 (&net, a3.output_dim, 32, d4_bin, d4_bias_bin);
tkDNN::Activation a4 (&net, d4.output_dim, tkDNN::ACTIVATION_RELU);
tkDNN::Dense d5 (&net, a4.output_dim, 2, d5_bin, d5_bias_bin);