Git Product home page Git Product logo

ionn-client's People

Contributors

blgene avatar cdluminate avatar cypof avatar dgolden1 avatar ducha-aiki avatar eelstork avatar erictzeng avatar flx42 avatar jamt9000 avatar jeffdonahue avatar jinevening avatar jyegerlehner avatar kloudkl avatar longjon avatar lukeyeager avatar mavenlin avatar mohomran avatar netheril96 avatar philkr avatar qipeng avatar rbgirshick avatar ronghanghu avatar sergeyk avatar sguada avatar shelhamer avatar tnarihi avatar williford avatar willyd avatar yangqing avatar yosinski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ionn-client's Issues

How to measure the server-side loading time?

Hi, I have a question about server-side loading time(as below the variable loading_time_s). I read your code about [IONN-client/src/caffe/execution_graph.cpp] (as below Line 170-181). How to measure the server-side loading time? This is a base of building the linear regression. Thank you.

void ExecutionGraph::setUpExecutionGraphLayers() {
......
// update loading time
Line 170: if (strcmp(layers[i]->type(), "Convolution") == 0) {
float filters = static_cast(layers[i]->layer_param().convolution_param().num_output());
current_layer->loading_time_s += 3.0e-3 * filters + 0.7;
}
else if (strcmp(layers[i]->type(), "InnerProduct") == 0) {
float neurons = static_cast(layers[i]->layer_param().inner_product_param().num_output());
current_layer->loading_time_s += 3.0e-7 * (neurons * static_cast(input_f_size)) + 1.3;
}
else {
// very small loading time for other types of layers
Line 181: current_layer->loading_time_s += 0.00005;
...
}

Complie error

I try to install IONN client in linux laptop under CPU-only mode.

My hardware and software :
hardware: Linux laptop (set CPU_ONLY := 1 in ) / Memory 4GB/
CPU: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
software :
ubuntu 18.04 LTS 64-bit
cmake version 3.10.2

The error is below:

examples/partitioning/classification.cpp: In member function ‘void Classifier::SequentialClassifing(cv::Mat&)’:
examples/partitioning/classification.cpp:254:10: warning: unused variable ‘timechk’ [-Wunused-variable]
double timechk;
^~~~~~~
examples/partitioning/classification.cpp:255:10: warning: unused variable ‘timechk2’ [-Wunused-variable]
double timechk2;
^~~~~~~~
examples/partitioning/classification.cpp:257:17: warning: unused variable ‘finish’ [-Wunused-variable]
struct timeval finish;
^~~~~~
examples/partitioning/classification.cpp: In member function ‘void Classifier::IncrementalUploading()’:
examples/partitioning/classification.cpp:447:21: warning: unused variable ‘start2’ [-Wunused-variable]
struct timeval start2;
^~~~~~
examples/partitioning/classification.cpp:448:21: warning: unused variable ‘finish2’ [-Wunused-variable]
struct timeval finish2;
^~~~~~~
examples/partitioning/classification.cpp:329:11: warning: ‘prototxt_end’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int prototxt_end;
^~~~~~~~~~~~
examples/partitioning/classification.cpp:328:11: warning: ‘resume_point’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int resume_point;
^~~~~~~~~~~~
examples/partitioning/classification.cpp:327:11: warning: ‘offloading_point’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int offloading_point;
^~~~~~~~~~~~~~~~
CXX/LD -o .build_release/examples/partitioning/classification.bin

compile error

I try to install IONN client in Nvidia Jenson Nano under CPU-only mode. run make all -j4,But it dont't compile.
My hardware and software :
hardware: Nvidia Jenson Nano (set CPU_ONLY := 1 in ) /Memory 4GB/CPU: ARMv8 rev1(v8l)*4
software :
ubuntu 18.04 LTS 64-bit
cmake version 3.10.2
g++ (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) 7.4.0

The error tips is below:

CXX tools/upgrade_net_proto_binary.cpp
tools/caffe.cpp: In function ‘int train()’:
tools/caffe.cpp:243:3: error: reference to ‘shared_ptr’ is ambiguous
shared_ptr<caffe::Solver >
^~~~~~~~~~
In file included from /usr/include/boost/throw_exception.hpp:42:0,
from /usr/include/boost/function/detail/prologue.hpp:15,
from /usr/include/boost/function.hpp:24,
from /usr/include/boost/algorithm/string/detail/find_iterator.hpp:18,
from /usr/include/boost/algorithm/string/find_iterator.hpp:24,
from /usr/include/boost/algorithm/string/iter_find.hpp:27,
from /usr/include/boost/algorithm/string/split.hpp:16,
from /usr/include/boost/algorithm/string.hpp:23,
from tools/caffe.cpp:14:
/usr/include/boost/exception/exception.hpp:19:44: note: candidates are: template class boost::shared_ptr
namespace boost { template class shared_ptr; };
^~~~~~~~~~
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
from /usr/include/c++/7/memory:81,
from /usr/include/boost/function/function_base.hpp:16,
from /usr/include/boost/function/detail/prologue.hpp:17,
from /usr/include/boost/function.hpp:24,
from /usr/include/boost/algorithm/string/detail/find_iterator.hpp:18,
from /usr/include/boost/algorithm/string/find_iterator.hpp:24,
from /usr/include/boost/algorithm/string/iter_find.hpp:27,
from /usr/include/boost/algorithm/string/split.hpp:16,
from /usr/include/boost/algorithm/string.hpp:23,
from tools/caffe.cpp:14:
/usr/include/c++/7/bits/shared_ptr_base.h:347:11: note: template class std::shared_ptr
class shared_ptr;
^~~~~~~~~~
tools/caffe.cpp:243:35: error: expected primary-expression before ‘>’ token
shared_ptr<caffe::Solver >
^
tools/caffe.cpp:244:7: error: ‘solver’ was not declared in this scope
solver(caffe::SolverRegistry::CreateSolver(solver_param));
^~~~~~
tools/caffe.cpp:244:7: note: suggested alternative: ‘socket’
solver(caffe::SolverRegistry::CreateSolver(solver_param));
^~~~~~
socket
tools/caffe.cpp: In function ‘int time()’:
tools/caffe.cpp:376:42: error: template argument 1 is invalid
const vector<shared_ptr<Layer > >& layers = caffe_net.layers();
^
tools/caffe.cpp:376:42: error: template argument 2 is invalid
tools/caffe.cpp:376:70: error: invalid initialization of reference of type ‘const int&’ from expression of type ‘const std::vector<boost::shared_ptr<caffe::Layer >, std::allocator<boost::shared_ptr<caffe::Layer > > >’
const vector<shared_ptr<Layer > >& layers = caffe_net.layers();
~~~~~~~~~~~~~~~~^~
tools/caffe.cpp:388:53: error: request for member ‘size’ in ‘layers’, which is of non-class type ‘const int’
std::vector forward_time_per_layer(layers.size(), 0.0);
^~~~
tools/caffe.cpp:389:54: error: request for member ‘size’ in ‘layers’, which is of non-class type ‘const int’
std::vector backward_time_per_layer(layers.size(), 0.0);
^~~~
tools/caffe.cpp:396:32: error: request for member ‘size’ in ‘layers’, which is of non-class type ‘const int’
for (int i = 0; i < layers.size(); ++i) {
^~~~
tools/caffe.cpp:398:15: error: invalid types ‘const int[int]’ for array subscript
layers[i]->Forward(bottom_vecs[i], top_vecs[i]);
^
tools/caffe.cpp:403:25: error: request for member ‘size’ in ‘layers’, which is of non-class type ‘const int’
for (int i = layers.size() - 1; i >= 0; --i) {
^~~~
tools/caffe.cpp:405:15: error: invalid types ‘const int[int]’ for array subscript
layers[i]->Backward(top_vecs[i], bottom_need_backward[i],
^
tools/caffe.cpp:418:30: error: request for member ‘size’ in ‘layers’, which is of non-class type ‘const int’
for (int i = 0; i < layers.size(); ++i) {
^~~~
tools/caffe.cpp:419:46: error: invalid types ‘const int[int]’ for array subscript
const caffe::string& layername = layers[i]->layer_param().name();
^
tools/caffe.cpp: In function ‘caffe::SolverAction::Enum GetRequestedAction(const string&)’:
tools/caffe.cpp:177:1: warning: control reaches end of non-void function [-Wreturn-type]
}

Use IONN client in Intel-based device

Hello,

  1. I want to install the IONN-client into my local machine device, but it has an Intel CPU.
    Is there any way to install the IONN-client into the Intel-CPU based devices?
    I tried to install this but when I tried to "make all" it has an issue. (I put another issue.)

  2. Also, I want to run this on an Android Phone. Do you have a tutorial to run this on the android phone?

Thank you.

Question about Execute Crash

Dear Sir,
I modify IONN-client/partitioning/classification.cpp, below as:
Line 671: const bool original_algorithm = false;
and Run classification.bin.
The console information is below. How to debug this error? Do you give a suggent about the C++ IDE. Thanks you!
ggf@ggf-desktop:~/ElasticDNN1/IONN-client$ ./build/examples/partitioning2/classification.bin \

models/bvlc_alexnet/deploy.prototxt
models/bvlc_alexnet/bvlc_alexnet.caffemodel
data/ilsvrc12/imagenet_mean.binaryproto
data/ilsvrc12/synset_words.txt
models/bvlc_alexnet/client_model1.txt
models/bvlc_alexnet/server_prediction_model1.txt
40
cat.jpg
0
incremental
time
use_file
192.168.1.90
execute start:2020-01-10 21:31:24
Dominators of output layer: 1 3 4 5 7 8 9 11 13 15 16 19 22

of Dominators: 13

There are 13 layers
name : conv1 input_feature: 618348 output_feature: 1161600 model_size: 139776 exec_time_c: 95.9674 exec_time_s: 11.6099 loading_time_s: 0.988
name : norm1 input_feature: 1161600 output_feature: 1161600 model_size: 0 exec_time_c: 39.5537 exec_time_s: 4.59046 loading_time_s: 0.0001
name : pool1 input_feature: 1161600 output_feature: 279936 model_size: 0 exec_time_c: 17.8863 exec_time_s: 1.08056 loading_time_s: 5e-05
name : conv2 input_feature: 279936 output_feature: 746496 model_size: 1229824 exec_time_c: 205.727 exec_time_s: 21.8116 loading_time_s: 1.468
name : norm2 input_feature: 746496 output_feature: 746496 model_size: 0 exec_time_c: 29.1358 exec_time_s: 3.01084 loading_time_s: 0.0001
name : pool2 input_feature: 746496 output_feature: 173056 model_size: 0 exec_time_c: 12.2637 exec_time_s: 0.72734 loading_time_s: 5e-05
name : conv3 input_feature: 173056 output_feature: 259584 model_size: 3540480 exec_time_c: 113.685 exec_time_s: 17.4095 loading_time_s: 1.852
name : conv4 input_feature: 259584 output_feature: 259584 model_size: 2655744 exec_time_c: 96.897 exec_time_s: 13.2976 loading_time_s: 1.85205
name : conv5 input_feature: 259584 output_feature: 173056 model_size: 1770496 exec_time_c: 74.2967 exec_time_s: 9.29986 loading_time_s: 1.46805
name : pool5 input_feature: 173056 output_feature: 36864 model_size: 0 exec_time_c: 5.74844 exec_time_s: 0.23 loading_time_s: 0.0001
name : fc6 input_feature: 36864 output_feature: 16384 model_size: 151011328 exec_time_c: 342.224 exec_time_s: 53.7221 loading_time_s: 46.5985
name : fc7 input_feature: 16384 output_feature: 16384 model_size: 67125248 exec_time_c: 143.545 exec_time_s: 24.3946 loading_time_s: 21.4328
name : fc8 input_feature: 16384 output_feature: 4000 model_size: 16388000 exec_time_c: 34.9957 exec_time_s: 6.02248 loading_time_s: 6.2153
(0, 1, 0)
(1, 2, 117.941)
(2, 3, 39.2581)
(3, 4, 221.558)
(1, 4, 95.9674)
(4, 5, 221.558)
(5, 6, 4.59056)
(6, 7, 221.558)
(4, 7, 39.5537)
(3, 5, 0)
(7, 8, 221.558)
(8, 9, 1.08061)
(9, 10, 53.3936)
(7, 10, 17.8863)
(6, 8, 0)
(10, 11, 53.3936)
(11, 12, 257.85)
(12, 13, 142.383)
(10, 13, 205.727)
(9, 11, 0)
(13, 14, 142.383)
(14, 15, 3.01094)
(15, 16, 142.383)
(13, 16, 29.1358)
(12, 14, 0)
(16, 17, 142.383)
(17, 18, 0.72739)
(18, 19, 33.0078)
(16, 19, 12.2637)
(15, 17, 0)
(19, 20, 33.0078)
(20, 21, 694.554)
(21, 22, 49.5117)
(19, 22, 113.685)
(18, 20, 0)
(22, 23, 49.5117)
(23, 24, 521.693)
(24, 25, 49.5117)
(22, 25, 96.897)
(21, 23, 0)
(25, 26, 49.5117)
(26, 27, 348.463)
(27, 28, 33.0078)
(25, 28, 74.2967)
(24, 26, 0)
(28, 29, 33.0078)
(29, 30, 0.2301)
(30, 31, 7.03125)
(28, 31, 5.74844)
(27, 29, 0)
(31, 32, 7.03125)
(32, 33, 28903.4)
(33, 34, 3.125)
(31, 34, 342.224)
(30, 32, 0)
(34, 35, 3.125)
(35, 36, 12849)
(36, 37, 3.125)
(34, 37, 143.545)
(33, 35, 0)
(37, 38, 3.125)
(38, 39, 3138)
(39, 40, 0.762939)
(37, 40, 34.9957)
(36, 38, 0)
1,Partitioning previous time taken: 0.000860093 s
Partitioning plans old
0. (1, 22)
->12
expected speed local: 1211.93
expected speed after 3 5: 1076.99
expected speed after 0 2: 1005.43
expected speed after 6 6: 926.34
expected speed after 7 7: 843.249
expected speed after 8 9: 730.593
expected speed after 10 10: 467.034
expected speed after 11 11: 360.708
expected speed after 12 12: 332.504
Partitioning new time taken: 0.00159996 s
Partitioning plans
0. (5, 8)
->1. (1, 8)
->2. (1, 9)
->3. (1, 11)
->4. (1, 15)
->5. (1, 16)
->6. (1, 19)
->7. (1, 22)
->---------- Prediction for cat.jpg ----------
forward thread woken
[[[Offloading 0]]]
upload woken
plan aim:5 8
SingleIteration0: 5 8 -1 -1
complete chunk: 5 8, prototxt: 1 8
Original bottom name: pool1
Original bottom name: pool1
Serializing 4 layers
bottom_vecs_[offloading_point][0].size() 1plan aim:1 8
SingleIteration0: 1 4 -1 -1
complete chunk: 1 8, prototxt: 1 8
Original bottom name: data
Original bottom name: data
Serializing 4 layers
plan aim:1 9
SingleIteration0: -1 -1 9 9
complete chunk: 1 9, prototxt: 1 9
Original bottom name: data
Serializing 1 layers
Received 0 bytes
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::system::system_error >'
what(): write: Connection reset by peer
Aborted (core dumped)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.