Giter Club home page Giter Club logo

neptune-lib's Introduction

Warning

PROJECT IS DEPRECATED You should use neptune-client instead.

neptune-lib

Build Status

Documentation

See neptune-lib documentation site

Getting started

Get api-token

neptune account api-token get

Establish session

from neptunelib.session import Session
session = Session(api_token='YOUR_NEPTUNE_API_TOKEN')

you can also create an environment variable NEPTUNE_API_TOKEN:

export NEPTUNE_API_TOKEN=YOUR_NEPTUNE_API_TOKEN`

and simpy go

from neptunelib.session import Session
session = Session()

Instatiate a Project object

project = session.get_projects('neptune-ml')['neptune-ml/Salt-Detection']

Get leaderbaord dataframe

leaderboard_df = project.get_leaderboard()

Get experiment data

experiments = project.get_experiments(id=['SAL-2342'])
experiment = experiments[0]
  1. get numeric channel values dataframe. Lets take the network_1 epoch_val iou loss channel for example (long name I know).
    channel_df = experiment.get_numeric_channels_values('network_1 epoch_val iou loss')
  1. get hardware utilization dataframe
   channel_df = experiment.get_hardware_utilization()

Installation

Get prerequisites

  • python versions 2.7/3.5/3.6 are supported
  • neptune-cli
       pip install neptune-cli

Install lib

pip install neptune-lib

Getting help

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

Contributing

If you see something that you don't like you are more than welcome to contribute! There are many options:

  • Participate in discussions on neptune community forum or neptune community slack
  • Submit a feature request or a bug here, on Github
  • Submit a pull request that deals with an open feature request or bug
  • Spread a word about neptune-lib in your community

neptune-lib's People

Contributors

dominik-jastrzebski avatar jakubczakon avatar pitercl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

stjordanis

neptune-lib's Issues

Simplify Session/Credentials

It seems reasonable to simplify the api by passing NEPTUNE_API_TOKEN directly into the Session object and create Credentials object inside of that class:

import os
from neptunelib import Session

session = Session(api_token=os.environ['NEPTUNE_API_TOKEN'])

Download Image channel

I would like to be able to go:

...
experiments = project.get_experiments()
exp = experiments[0]
images = experiments.get_image_channel('images')
for image in images:
   img = image.get_data()
   break
print(img)

Improve docstrings

Adjust to google docstrings.

Missing/need improvement:

  • Session
  • Credentials
  • Project
  • Experiment
  • .get_hardware_utilization
  • .get_numerical_utilization

odd staticmethod that is also private in Project

I have encountered this piece of code:

@staticmethod
def _sort_leaderboard_columns(column_names):

in here.

Also:

@staticmethod
def _simple_dict_to_dataframe(d):

in here
I think it is possibly a typo.

It seems odd to have a staticmethod that we want to show to the world as Projects.sort_leaderboard_columns but at the same time it is private so we don't.
I would go with either private or static or even a simple helper function.

DataFrame for multiple channels with different x frequency seems weird

Right now, when .get_numeric_channels_values is called for a list of channels, each channel gets x_ and y_ prefixes. What is more, the x_ frequency is different and misaligned for different channels.

Having a common x_ column for different channels and fill channels with NaN should make it easier to use.

Add helpers for leaderboard column parsing

Leaderboard dataframe can be divided into channels/parameters/properties/others

Add simple helpers for:

  • getting channel column names
  • getting property column names
  • getting parameter column names

Trash experiments from code

I would like to be able to go:

project = session.get_projects('neptune-ml/Salt-Detection')
jobs = project.get_jobs(id=['SAL-9999', 'SAL-8293'])
for job in jobs:
   job.trash()

Public projects are not available.

Public projects are not available to the user.

Running:

projects.get_projects('USERNAME')

Shows only the private/public projects of the user but all public projects should be visible.

project.get_members() fails

I ran:

from neptunelib.session import Session
from neptunelib.credentials import Credentials

session = Session(credentials=Credentials.from_env())
project = session.get_projects('neptune-ml')['neptune-ml/Salt-Detection']
project.get_members()

and got the following error

SwaggerMappingError: listProjectMembers does not have parameter organizationName

I don't understand what it means and how to handle it.

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.