#include #include #include "tkdnn.h" #include "Network.h" #include "Layer.h" namespace tk { namespace dnn { Network::Network(dataDim_t input_dim) { this->input_dim = input_dim; float tk_ver = float(TKDNN_VERSION)/1000; float cu_ver = float(cudnnGetVersion())/1000; std::cout<<"New NETWORK (tkDNN v"<infer(dim, data); } checkCuda(cudaDeviceSynchronize()); return data; } bool Network::addLayer(Layer *l) { if(num_layers == MAX_LAYERS) return false; layers[num_layers++] = l; return true; } dataDim_t Network::getOutputDim() { if(num_layers == 0) return input_dim; else return layers[num_layers-1]->output_dim; } void Network::print() { printCenteredTitle(" NETWORK MODEL ", '=', 60); std::cout.width(3); std::cout<input_dim; dataDim_t out = layers[i]->output_dim; std::cout.width(3); std::cout<getLayerName(); std::cout.width(4); std::cout< "; std::cout.width(4); std::cout<