49 using CLAlexNetModel = networks::AlexNetNetwork<ICLTensor,
55 CLDirectConvolutionLayer,
56 CLFullyConnectedLayer,
60 std::vector<unsigned int> compute_alexnet(
DataType dt,
unsigned int batches, std::string input_file)
62 std::vector<std::string> weight_files = {
"cnn_data/alexnet_model/conv1_w.npy",
63 "cnn_data/alexnet_model/conv2_w.npy",
64 "cnn_data/alexnet_model/conv3_w.npy",
65 "cnn_data/alexnet_model/conv4_w.npy",
66 "cnn_data/alexnet_model/conv5_w.npy",
67 "cnn_data/alexnet_model/fc6_w.npy",
68 "cnn_data/alexnet_model/fc7_w.npy",
69 "cnn_data/alexnet_model/fc8_w.npy" 72 std::vector<std::string> bias_files = {
"cnn_data/alexnet_model/conv1_b.npy",
73 "cnn_data/alexnet_model/conv2_b.npy",
74 "cnn_data/alexnet_model/conv3_b.npy",
75 "cnn_data/alexnet_model/conv4_b.npy",
76 "cnn_data/alexnet_model/conv5_b.npy",
77 "cnn_data/alexnet_model/fc6_b.npy",
78 "cnn_data/alexnet_model/fc7_b.npy",
79 "cnn_data/alexnet_model/fc8_b.npy" 81 CLAlexNetModel network{};
82 network.init(dt, 4, batches);
85 network.fill(weight_files, bias_files);
86 network.feed(std::move(input_file));
89 return network.get_classifications();
99 std::vector<unsigned int> classified_labels = compute_alexnet(
DataType::F32, 1,
"cnn_data/imagenet_data/cat.npy");
102 std::vector<unsigned int> expected_labels = { 281 };
105 validate(classified_labels, expected_labels);
1 channel, 1 F32 per channel
TEST_CASE(Configuration, framework::DatasetMode::ALL)
This file contains all available output stages for GEMMLowp on OpenCL.
#define TEST_SUITE(SUITE_NAME)
validate(dst.info() ->valid_region(), dst_valid_region)
DatasetMode
Possible dataset modes.
TEST_SUITE_END() DATA_TEST_CASE(Configuration
DataType
Available data types.