File Coverage

blib/lib/AI/PredictionClient/Alien/TensorFlowServingProtos.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1 1     1   93604 use strict;
  1         4  
  1         42  
2 1     1   10 use warnings;
  1         4  
  1         89  
3             package AI::PredictionClient::Alien::TensorFlowServingProtos;
4             $AI::PredictionClient::Alien::TensorFlowServingProtos::VERSION = '0.04';
5 1     1   9 use base qw( Alien::Base );
  1         10  
  1         962  
6              
7             =head1 NAME
8              
9             AI::PredictionClient::Alien::TensorFlowServingProtos - Builds C++ client library for TensorFlow Serving.
10              
11             =cut
12              
13             =head1 SYNOPSIS
14              
15             In your Build.PL:
16              
17             use Module::Build;
18             use AI::PredictionClient::Alien::TensorFlowServingProtos;
19             my $builder = Module::Build->new(
20             ...
21             configure_requires => {
22             'AI::PredictionClient::Alien::TensorFlowServingProtos' => '0',
23             ...
24             },
25             extra_compiler_flags => AI::PredictionClient::Alien::TensorFlowServingProtos->cflags,
26             extra_linker_flags => AI::PredictionClient::Alien::TensorFlowServingProtos->libs,
27             ...
28             );
29            
30             $build->create_build_script;
31              
32             In your Makefile.PL:
33              
34             use ExtUtils::MakeMaker;
35             use Config;
36             use AI::PredictionClient::Alien::TensorFlowServingProtos;
37            
38             WriteMakefile(
39             ...
40             CONFIGURE_REQUIRES => {
41             'AI::PredictionClient::Alien::TensorFlowServingProtos' => '0',
42             },
43             CCFLAGS => AI::PredictionClient::Alien::TensorFlowServingProtos->cflags . " $Config{ccflags}",
44             LIBS => [ AI::PredictionClient::Alien::TensorFlowServingProtos->libs ],
45             ...
46             );
47              
48             =cut
49              
50             =head1 DESCRIPTION
51              
52             This distribution builds a C++ library for use by other Perl XS modules to
53             communicate with Google TensorFlow Serving model servers. It is primarily intended to be used
54             with the cpan AI::PredictionClient module.
55              
56             This module builds a library 'tensorflow_serving_protos_so' that provides the protos for the
57             Predict, Classify, Regress and MultiInference prediction services.
58              
59             The built library is installed in a private share location within this module
60             for use by other modules.
61              
62             =cut
63              
64             =head1 DEPENDENCIES
65              
66             This module is dependent on gRPC. This module will use the cpan module Alien::Google::GRPC to
67             either use an existing gRPC installation on your system or if not found, the Alien::Google::GRPC
68             module will download and build a private copy.
69              
70             The system dependencies needed for this module to build are most often already installed.
71             If not, the following dependencies need to be installed.
72              
73             $ [sudo] apt-get install build-essential make g++
74              
75             See the Alien::Google::GRPC for potential additional build dependencies.
76              
77             At this time only Linux builds are supported.
78              
79             =cut
80              
81             =head2 CPAN Testers Note
82              
83             This module may fail CPAN Testers' tests.
84             The build support tools needed by this module and especially the
85             Alien::Google::GRPC module are normally installed on the
86             CPAN Testers' machines, but not always.
87              
88             The system build tools dependencies have been reduced, so hopefully
89             a large number of machines will build without manually installing
90             system dependencies.
91              
92             =cut
93              
94             =head1 AUTHOR
95              
96             Tom Stall stall@cpan.org
97              
98             =cut
99              
100             =head1 COPYRIGHT AND LICENSE
101              
102             This software is copyright (c) 2017 by Tom Stall.
103              
104             This is free software; you can redistribute it and/or modify it under
105             the same terms as the Perl 5 programming language system itself.
106              
107             =cut
108              
109             =head1 SEE ALSO
110              
111             L, L, L
112              
113             =cut
114              
115             1;