Show csv data path in data pane preview during training

I been using nightly builds on and off and come across some interesting bugs where it looks like it displays the wrong data image with the prediction vs ground truth or vice versa. This has made me believe images were in the wrong class which isn’t the case as it happens too often. I thought it would be nice to be able see the data path along with the data image preview or even a button to “copy path to clipboard” so I can sanity check things like this as I hash all my images so it’s an easy lookup to be sure.

Hi @RBR,
Do you still experience that bug in the most recent 0.13.1 version, and when does that happen in that case? :slight_smile:

A “copy path” functionality does sound quite neat though, we are “soon” adding the ability to go through multiple data samples to see their results, and being able to get the path there would be very helpful as well. Thanks for the suggestion! :slight_smile:

Actually im not sure what version im on but it’s not exactly recent and that was also another feature I was gonna ask for at some point, an easier way to find version info. As far as I know there’s no “about” page in the interface nor is there any command flags that i know of to query it and there isnt anything in the help stating the version.

As for when im not exactly sure just in training every now and then a data image will show that does not match the prediction class and ground truth it was meant for only thing I did was update the csv with more data. I dont think the trainer is getting bad data just showing wrong data.

There’s other funny stuff like going beyond 100% in training progress…

Hi there!
in terminal, you can do

pip show perceptilabs or pl-nightly if you’re using that :slight_smile:

2 Likes

Ahh thanks for that ^_^, I still wouldn’t mind seeing it inside the software somewhere it already states tensor and python versions in the interface footer but not itself…

To answer the other question “Version: 0.12.24.20211031.1” @robertl

Edit: I updated to “Version: 0.13.1.20211115.1” and ran it a bit, the problem came up once so far and also notice a considerable lag between data & prediction updates (they dont update at the same time) every now and then

Edit2: I was able to verify it without a doubt when it landed on something easy I can search for (hard to do without a data path). 1 is the NSFW class and is where it’s displaying the ground truth for an image that isnt in that class, it looks like this

Having an easier way to see the version is something we have gotten asked a fair bit since 0.13 at this point, something we overlooked when removing the File menu from 0.12 (where you could go Help->About to see it) :sweat_smile:
We will likely add it in so you can see it when clicking on your profile in the top right corner.

As for the desynch between the Viewbox (bottom right visualization) and the top view, it’s something we have observed when the data or model is a bit heavier.
They are sent as two separate requests and when things start slowing down a bit the frontend has a tendency to stop updating at the same time or that one of them gets skipped occasionally.
This gets solved when running the kernel on a remote server as the frontend and the training no longer need to compete for resources (when our Cloud gets released you will not experience this issue).

As for now, even though the bottom right and the top part of the statistics view are out of synch the training is still going as it should (we have double and triple checked this), so it’s more an issue of not seeing exactly how the specific images are predicting.
All the metrics you do see in the top view are also correct, so you can still see the performance and check “Predictions for Each Class” to gauge how training is going outside just accuracy and loss. Same goes for the gradients in the Viewbox.
It should also synch up when training does finish.

Hope that gives some answers to the strangeness you are seeing, and sorry about any inconvenience it causes!

If using conda is available (Anaconda, miniconda) then conda list <pkg_substring> is a bit more flexible because pip doesn’t support wildcards but conda list matches on substring so e.g. conda list tensor will hit tensorflow, tensorflow-probability, etc. etc.

Doesn’t matter for Perceptilabs but it can save a few keystrokes :wink: