Code Monkey home page Code Monkey logo

difacto's Introduction

Distributed Machine Learning Common Codebase

Build Status Documentation Status GitHub license

DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.

Developer Channel Join the chat at https://gitter.im/dmlc/dmlc-core

What's New

Contents

Known Issues

  • RecordIO format is not portable across different processor endians. So it is not possible to save RecordIO file on a x86 machine and then load it on a SPARC machine, because x86 is little endian while SPARC is big endian.

Contributing

Contributing to dmlc-core is welcomed! dmlc-core follows google's C style guide. If you are interested in contributing, take a look at feature wishlist and open a new issue if you like to add something.

  • DMLC-Core uses C++11 standard. Ensure that your C++ compiler supports C++11.
  • Try to introduce minimum dependency when possible

CheckList before submit code

  • Type make lint and fix all the style problems.
  • Type make doc and fix all the warnings.

NOTE

deps:

libcurl4-openssl-dev

difacto's People

Contributors

mli 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

difacto's Issues

save model

is it possible to save the learnt vector and matrix somehow?

build on osx with clang

In case it is useful to anyone, managed to build and run the example on recent osx (clang) with a couple of minor patches. See https://github.com/cottrell/difacto/tree/osx

709eb4b
b7ec0c4

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

what is relationship between the kv_app(KVWorker, KVServer) and Apps(BCD, LBFGS, SGD)

Hi, guys:
As has been introduced in the paper 'DiFacto โ€” Distributed Factorization Machines', Difacto's communication relies on the Parameter Server. From the project's dictionary, we see that kv_app.h encapsulates the van logic to supply some higher but simplistic interface Pull, Push;
However we don't see any function call of Push and Pull in apps such as BCD, LBFGS, SGD etc., which is called by store_local's Pull through the function Get. So, I am puzzeled what is relationship between the kv_app(KVWorker, KVServer) and Apps(BCD, LBFGS, SGD). Can anybody help me ?

Error when try to run quick start demo

Hello, when I try to run quick start demo, I came to this

[root@algo064 difacto]# build/difacto data_in=data/gisette_scale val_data=data/gisette_scale.t lr=.02 V_dim=2 V_lr=.001 batch_size=1000
[11:28:34] src/main.cc:27: Unrecognized keyword argument for task = train
[11:28:34] src/main.cc:29:  - val_data = data/gisette_scale.t
[11:28:34] src/sgd/sgd_learner.cc:35: Start epoch 0
[11:28:34] ./src/common/spmm.h:177: Check failed: (sp + k) <= (max_len) 
Aborted

Any idea how to fix that ?

Roadmap

we are still working on porting the codes from https://github.com/dmlc/wormhole/tree/master/learn/difacto and also adding new learning algorithms:

  • logit / fm loss: src/loss/
  • minibatch sgd: src/sgd/
  • block coordinate descent: src/bcd
  • l-bfgs: src/lbfgs
  • distributed by ps-lite: src/store/store_dist.h
  • use disk as data cache: class DataStoreDisk
  • save model
  • predict
  • user doc
  • developer doc

batch size issue

When I run sample code, there is always an error

terminate called after throwing an instance of 'dmlc::ParamError'
what(): Required parameter batch_size of int is not presented
Aborted (core dumped)

I think maybe you should set default in parameter batch_size.

support viewfs

[16:06:54] include/dmlc/././logging.h:208: [16:06:54] src/io.cc:57: unknown filesystem protocol viewfs:// terminate called after throwing an instance of 'dmlc::Error' what(): [16:06:54] src/io.cc:57: unknown filesystem protocol viewfs:// Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner self.run() File "/usr/lib64/python2.7/threading.py", line 764, in run self.__target(*self.__args, **self.__kwargs) File "/data/home/GPkuaibaofst/model_train/train/bin/tracker/dmlc_tracker/tracker.py", line 363, in <lambda> target=(lambda: subprocess.check_call(self.cmd, env=env, shell=True)), args=()) File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call raise CalledProcessError(retcode, cmd)
I am wondering if difacto will support viewfs ?

where is the output model

I trained the model by following command:
build/difacto data_in=data/gisette_scale val_data=data/gisette_scale.t lr=.02 V_dim=2 V_lr=.001 batch_size=10240 model_out=./fm.model task=train learner=lbfgs
when it's done, I can't find the output model, where is it ?

Can't run example code

Although I wasn't able to build on MacOS, the project built on Linux. However, I try to follow the example steps, and it breaks when I try to build a model:

build/difacto data_in=data/gisette_scale val_data=data/gisette_scale.t lr=.02 V_dim=2 V_lr=.001

The error is:

terminate called after throwing an instance of 'dmlc::ParamError'
  what():  Required parameter batch_size of int is not presented
Aborted (core dumped)

how to run it on multiple machies

@mli in the readme file, I see the example of running code on one machine,but how to run it on different machines ? I do appreciate if you can complete the docs and show us the way run difacto on more than 2 machines . In my opinion, the command shoud contains a file which is the ip list ,etc . The needs of run it on cluster is urgent in industry , your reply will be a greate favor to us .

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.