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.
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!
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.
Click on Projects
and the New project
. Choose a name for it and whether you want it public or private.
Go to your project, click Settings
and send invites!
Neptune let's you track any information important to your experimentation process.
Just run:
pip install neptune-client
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')
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()
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)
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)
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')
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')
from hashlib import sha1
data_version = sha1(X).hexdigest()
neptune.send_text('data_version', data_version)
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
If you get stuck, don't worry we are here to help. The best order of communication is: