Giter VIP home page Giter VIP logo

cnkuangshi / lightctr Goto Github PK

View Code? Open in Web Editor NEW
674.0 59.0 142.0 9.64 MB

Lightweight and Scalable framework that combines mainstream algorithms of Click-Through-Rate prediction based computational DAG, philosophy of Parameter Server and Ring-AllReduce collective communication.

License: Apache License 2.0

C++ 92.53% C 6.21% Makefile 0.36% Python 0.64% Shell 0.25%
machine-learning deep-learning factorization-machines distributed-systems parameter-server model-compression computational-graphs

lightctr's People

Contributors

cnkuangshi avatar tbfly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightctr's Issues

another suggestions

很不错,代码写的比较工整,就是整个工程的文件组织方式有点凌乱,你可以把头文件分类放在include目录,对应的实现放在src里面,建议用cmake重新组织一下。
You can do it better! 加油!

There are one bug in the function 'timeoutResender' in network.h

There are one bug in the function 'timeoutResender' in network.h

if (pkg.send_time + max_retry_times * timeout >= cur_time) { sending_queue.pop(); continue; } else if (pkg.send_time + timeout >= cur_time) { const time_t interval = pkg.send_time + timeout - cur_time; assert(interval >= 0); std::this_thread::sleep_for(std::chrono::seconds(interval)); }

The 'else if' cannot be reached.

[Error] Compile error

I run make master in the project root directory. However, it seems that it doesn't work:

/tmp/ccwE9B34.o: In function `Delivery::init()':
main.cpp:(.text._ZN8Delivery4initEv[_ZN8Delivery4initEv]+0x2d): undefined reference to `zmq_socket'
/tmp/ccwE9B34.o: In function `Master::Master()':
main.cpp:(.text._ZN6MasterC2Ev[_ZN6MasterC5Ev]+0x70a): undefined reference to `zmq_ctx_new'
main.cpp:(.text._ZN6MasterC2Ev[_ZN6MasterC5Ev]+0x757): undefined reference to `zmq_socket'
main.cpp:(.text._ZN6MasterC2Ev[_ZN6MasterC5Ev]+0x784): undefined reference to `zmq_connect'
main.cpp:(.text._ZN6MasterC2Ev[_ZN6MasterC5Ev]+0x7cf): undefined reference to `zmq_msg_init'
main.cpp:(.text._ZN6MasterC2Ev[_ZN6MasterC5Ev]+0x7e0): undefined reference to `zmq_msg_send'
/tmp/ccwE9B34.o: In function `Delivery::event_loop()':
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x30): undefined reference to `zmq_msg_init'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x49): undefined reference to `zmq_msg_init'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0xc9): undefined reference to `zmq_msg_recv'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0xe4): undefined reference to `zmq_msg_more'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x104): undefined reference to `zmq_msg_recv'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x31c): undefined reference to `zmq_msg_size'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x333): undefined reference to `zmq_msg_data'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x359): undefined reference to `zmq_msg_size'
main.cpp:(.text._ZN8Delivery10event_loopEv[_ZN8Delivery10event_loopEv]+0x36d): undefined reference to `zmq_msg_data'
/tmp/ccwE9B34.o: In function `void std::__once_call_impl<std::_Bind_simple<Delivery::Instance()::{lambda()#1} ()> >()':
main.cpp:(.text._ZSt16__once_call_implISt12_Bind_simpleIFZN8Delivery8InstanceEvEUlvE_vEEEvv[_ZSt16__once_call_implISt12_Bind_simpleIFZN8Delivery8InstanceEvEUlvE_vEEEvv]+0x27): undefined reference to `zmq_bind'
collect2: error: ld returned 1 exit status
Makefile:26: recipe for target 'master' failed

My env is Ubuntu 16.04. ( I tried rebuild zmq, but the compiling error is exactly same. )

Is there a performance report?

Hi, Thanks for your work, it looks great.

I have a question. Does the project be applied to real product environment and whether the project performs well ?

How about distributed FFM training time and precision compared with single-machine libFFM project.

compile error

执行build.sh, 报错如下:

LightCTR/train/train_tm_algo.cpp:222:37: error: call of overloaded ‘isnan(double&)’ is ambiguous
assert(!isnan(LogLKH));

some suggestions

首先,非常感谢开源分享。

两点建议:

  • 取消 IDE 相关文件 如 .xcodeproj .travis.yml
  • 增加说明性文档

Model Parallelism & Data Parallelism

会不会支持数据级或模型级的并行?
会的话会使用什么同步或调度算法?

最近在研究这个,可以的话麻烦给些指导。

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.