npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jupyterlab_tensorboard_pro

v0.7.2

Published

A JupyterLab extension for tensorboard.

Downloads

56

Readme

JupyterLab-TensorBoard-Pro

Github Actions Status pypi

中文文档

A TensorBoard JupyterLab plugin.

Requirements

python >= 3.6

Please install the following dependencies before installing this project:

  • jupyterlab
  • tensorflow
  • tensorboard

Install

pip install jupyterlab-tensorboard-pro

only jupyterlab support, not include notebook

Background

In fact, there are already jupyterlab_tensorboard (front-end plugin) and jupyter_tensorboard (back-end plugin) in the community, but both repositories have not been updated for a long time, and some new repair PRs have not been merged in time. Based on this, maybe the project author is no longer actively maintaining the corresponding repositories.

At the same time, the existing community TensorBoard plugin has some experience problems, such as installing two python packages at the same time, no response for a long time after clicking TensorBoard, and the TensorBoard Reload time cannot be set. The interactive experience is not friendly enough, which will also affect the user's JupyterLab experience.

Therefore, this project is forked from the existing projects of the community, and we made some positive changes, contained some previous PRs which are helpful but have not been merged for the time being. This repo will to be maintained for a long time in the future.

This repo has also changed the api name, so it can be completely independent of the above plugins.

Special thanks to the developers of the previous related repositories.

Instructions

Create Instance

Create from Launcher Panel

We can click the TensorBoard icon from the Launcher panel, the first click will take you to a default initialization panel from which we can create a TensorBoard instance. But if there is an active TensorBoard backend at this time, it will be opened directly.

Create by Shortcut Command

We can also type Open TensorBoard in the JupyterLab shortcut panel (evoked by ctrl + shift + c)

Parameters

In the initialization panel, two parameters are provided:

  • Log Dir: The default is the relative directory of the current sidebar when TensorBoard is clicked. You can also manually fill in the corresponding directory. It is recommended to make the directory as detailed as possible. If the directory content is small, the initialization speed will be improved.
  • Reload Interval: How often does TensorBoard backend rescan the corresponding directory. This option is set to false by default. It is recommended to disable and use manually Reload for daily use (The continuous scanning of directories by the TensorBoard backend will have some impact on Jupyter's stability and file system).

Select the parameters and click Create TensorBoard, and the TensorBoard instance will be created synchronously. At this time, the jupyter backend is blocking, please wait for the instance to be created before performing other operations.

Manage Instances

After the instance of TensorBoard is created, we can manage the instance. Currently, the following functions are provided:

  • Refresh and list all: TensorBoard backends can be switched to other instances (won't destroy the before)
  • Open in a separate page: You can open TensorBoard in the form of a separate web page tab.
  • Reload: Reinitialize the TensorBoard backend. When the content of the file is updated, you can load the new content through this function (Note: The refresh inside TensorBoard will not cause Reload).
  • Destroy: Destroy the instance, it will close both the backend and the frontend panel.
  • Duplicate: Open an identical frontend panel, this operation will reuse the TensorBoard backend.
  • New: Create an additional TensorBoard backend, please refer to the above for precautions.

In addition, for the TensorBoard instance we created, it can be managed in the Kernel management panel of Jupyter, providing functions such as jumping to the corresponding instance and deleting.

Use AWS S3

It is assumed here that you have some experience with aws s3

TensorBoard supports passing an s3 path via s3://path/to/dir, which is also supported in this plugin.

However, because the s3 path is usually not directly accessible, you need to configure some basic information through aws configure (download aws cli), Usually, the system where JupyterLab is running should have the following files:

# ~/.aws/config
[default]
region = ap-southeast-1
output = json

# ~/.aws/credentials
[default]
aws_access_key_id = ********
aws_secret_access_key = ********

Then you need to install some additional dependencies:

pip install botocore boto3 tensorflow-io

After that, you can enter an s3 path, then click the refresh button of tensorboard, and wait the loading:

In fact, the status prompt of tensorboard itself is not friendly now, and we will further investigate whether there is a better way to experience it later.

Debug

You can use jupyter-lab --debug to enable debug logging for JupyterLab and TensorBoard.

Develop

jlpm install
pip install jupyter_packaging
jlpm run install:client
jlpm run install:server
ln -s /path/to/jupyterlab_tensorboard_pro/jupyterlab_tensorboard_pro
# after above maybe you need create use a soft link to hot update

watch frontend:

jlpm run watch

build:

python setup.py bdist_wheel --universal

Under normal circumstances, you can just submit MR, the developers of this project will package and publish to pypi.