Giter VIP home page Giter VIP logo

neptune-client's Introduction

neptune-client

PyPI version Build Status

Overview

Neptune is an experiment tracking hub that brings organization and collaboration to your data science team.

It works with any:

  • infrastructure setup
  • framework
  • working style

Keep the knowledge in one place, organized and ready to be shared with anyone.

image image image image

Getting started

Register

Go to https://neptune.ai/ and sign up.

It is completely free for individuals and non-organizations, and you can invite others to join your team!

Get your API token

In order to start working with Neptune you need to get the API token first. To do that, click on the Get API Token button on the top left.

image

Create your first project

Click on Projects and the New project. Choose a name for it and whether you want it public or private.

image

Invite others

Go to your project, click Settings and send invites!

image

Start tracking your work

Neptune let's you track any information important to your experimentation process.

Install Neptune client

Just run:

pip install neptune-client

Initialize Neptune

Toward the top of your script insert the following snippet.

import neptune

neptune.init(api_token='YOUR_API_TOKEN',
             project_qualified_name='USERNAME/PROJECT_NAME')

Create and stop the experiment

You can treat every piece of work that you want to record as an experiment. Just create an experiment:

neptune.create_experiment()

Do whatever you want and record it here! Stop the experiment.

neptune.stop()

Track hyperparameters

Making sure that all your hyperparameters are recorded is very important. With Neptune, you can do that easily by passing params dictionary when creating the experiment.

params = {'n_estimators':10,
          'criterion': 'gini',
          'max_depth': 2,
          'min_samples_split': 100}

neptune.create_experiment(params=params)

Track metrics

It is super easy. Just log your metric to Neptune.

neptune.send_metric('roc_auc', 0.82)

In case you want to track your metric after every step (deep learning), you can simply send your metric to the same channel after every step and Neptune will automatically create a chart for you.

for i in range(100):
     neptune.send_metric('learning_rate_schedule', 0.01 *1.05 ** i) 

Track result diagnostics

You can even log images to Neptune. Just save to the

plot_roc(y_test, y_test_pred)
plt.savefig('roc_curve.png') 
neptune.send_image('roc_curve', 'roc_curve.png')

Track artifacts

You can save model weights and any other artifact that you created during your experiment.

from sklearn.externals import joblib
joblib.dump(clf, 'rf_model.pkl')
neptune.send_artifact('rf_model.pkl')

Track data versions

from hashlib import sha1

data_version = sha1(X).hexdigest()
neptune.send_text('data_version', data_version)

Track code

You can track your codebase too. Just choose the files that you want to send to Neptune.

neptune.create_experiment(upload_source_files=['utils.py', 
                                               'main.py'])

Check the example project here

Getting help

If you get stuck, don't worry we are here to help. The best order of communication is:

neptune-client's People

Contributors

aniezurawski avatar pitercl avatar dominik-jastrzebski avatar piotrjander avatar szymon-kuklewicz avatar hubertjaworski avatar wjaskowski avatar jakubczakon avatar zmonoid avatar dependabot[bot] avatar lukasz-walkiewicz avatar

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.