Standalone Tensorflow Projector - tensorflow

If you visit the http://projector.tensorflow.org/ you can use it with your own dataset (ie a TSV file). I am playing with N-D data and found useful to look at these visualisations after PCA reduction.
I am wondering how I can run my own Projector version on my machine.
Looking at the doc, it seems to be released only as a tensorboard plugin for seeing the embedding results...
Thanks

According to the replies made on https://github.com/tensorflow/tensorflow/issues/7562 more recently than the other answer here, you can get the standalone version at https://github.com/tensorflow/embedding-projector-standalone/ and edit the oss_demo_projector_config.json to point to your datasets.
The demo files are binary files ending in .bytes, which can be generated from a numpy array with .tofile:
vectors = numpy.zeros(vector_shape, dtype=numpy.float32)
vectors.tofile('my_tensors.bytes')

It has only been released as a TensorBoard plugin.

Related

Freeze Saved_Model.pb created from converted Keras H5 model

I am currently trying to train a custom model for use in Unity (Barracuda) for object detection and I am struggling near what I believe to be the last part of the pipeline. Following various tutorials and git-repos I have done the following...
Using Darknet, I have trained a custom-model using the Tiny-Yolov2 model. (model tested successfully on a webcam python script)
I have taken the final weights from that training and converted them
to a Keras (h5) file. (model tested successfully on a webcam python
script)
From Keras, I then use tf.save_model to turn it into a
save_model.pd.
From save_model.pd I then convert it using tf2onnx.convert to change
it to an onnx file.
Supposedly from there it can then work in one of a few Unity sample
projects...
...however, this project fails to read in the Unity Sample projects I've tried to use. From various posts it seems that I may need to use a 'frozen' save_model.pd before converting it to ONNX. However all the guides and python functions that seem to be used for freezing save_models require a lot more arguments than I have awareness of or data for after going through so many systems. https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py - for example, after converting into Keras, I only get left with a h5 file, with no knowledge of what an input_graph_def, or output_node_names might refer to.
Additionally, for whatever reason, I cannot find any TF version (1 or 2) that can successfully run this python script using 'from tensorflow.python.checkpoint import checkpoint_management' it genuinely seems like it not longer exists.
I am not sure why I am going through all of these conversions and steps but every attempt to find a cleaner process between training and unity seemed to lead only to dead ends.
Any help or guidance on this topic would be sincerely appreciated, thank you.

Mask R-CNN not working properly on its own examples

I spent some time already to figure out how to get Mask R-CNN working properly.
I cloned the original Matterport implementation and a fork of it which has been modified to use TF 2.
The Matterport implementation seems to be somehow outdated with respect to the dependencies, and I could not make it work. I saw that some people could make it work using different versions of the required libraries or some code changes here and there... I thought I continue with the TF2 compatible version. There is a code change needed as well to make it work with the examples which have been provided with Mask R-CNN. I hope that this is sufficient and that I did not miss something else.
E.g. I ran the train_shapes.ipynb in samples folder. The generated shapes are trained on top of pretrained COCO weights. So far so good.
The notebook generates a sample image with shapes, and processes it. this is the result:
What can be the reason that so many shapes are detected which are not in the source image?
I was having the same issue. It is because model.detect does not work for TensorFlow 2.6 and above. When I downgraded to TensorFlow 2.4, everything worked. Check out this thread: https://github.com/matterport/Mask_RCNN/issues/2670

Tensorboard projector will compute PCA endlessly

I have just over 100k word embeddings which I created using gensim, originally each containing 200 dimensions. I've been trying to visualize them within tensorboard's projector but I have only failed so far.
My problem is that tensorboard seems to freeze while computing PCA. At first, I left the page open for 16 hours, imagining that it was just too much to be calculated, but nothing happened. At this point, I started to try and test different scenarios just in case all I needed was more time and I was trying to rush things. The following is a list of my testing so far, all of which failed at the same spot, computing PCA:
I plotted only 10 points of 200 dimensions;
I retrained my gensim model so that I could reduce its dimensionality to 100;
Then I reduced it to 10;
Then to 2;
Then I tried plotting only 2 points, i.e. 2 two dimensional points;
I am using Tensorflow 1.11;
You can find my last saved tensor flow session here, would you mind trying it out?
I am still a beginner, therefore I used a couple tutorial to get me started; I used Sud Harsan work so far.
Any help is much appreciated. Thanks.
Updates:
A) I've found someone else dealing with the same problem; I tried the solution provided, but it didn't change anything.
B) I thought it could have something to do with my installation, therefore I tried uninstalling tensorflow and installing it back; no luck. I then proceeded to create a new environment dedicated to tensorflow and that also didn't work.
C) Assuming there was something wrong with my code, I ran tensorflow's basic embedding tutorial to check if I could open its projector's results. And guess what?! I still can't go past "Calculating PCA"
Now, I did visit the online projector example and that loads perfectly.
Again, Any help would be more than appreciated. Thanks!
I have the same problem with word2vec_basic.py
My environment: win10, conda, python 3.6.7, tensorflow 1.11, tensorboard 1.11
That may not your fault because I roll back tensorflow & tensorboard from 1.11 to 1.7
And guess what?! The projector appears just a few seconds!
reference
Update 10/11
tensorboard & tensorflow 1.12 are available in conda today, I take a try and this problem seems to be fixed.
As mentioned by Bluedrops, updating tensorboard and tensorflow seems to fix the problem.
I created a new environment with conda and installed the newest versions of Tensorflow, Tensorboard and their dependencies and that seems to fix the issue.

Tensorflow object detection API not displaying global steps

I am new here. I recently started working with object detection and decided to use the Tensorflow object detection API. But, when I start training the model, it does not display the global step like it should, although it's still training in the background.
Details:
I am training on a server and accessing it using OpenSSH on Windows. I trained a custom dataset, by collecting pictures and labeling them. I trained it using model_main.py. Also, until a couple of months back, the API was a little different, and only recently they changed to the latest version. For instance, earlier it used to use train.py for training, instead of model_main.py. All the online tutorial I can find use train.py, so it might be a problem with the latest commit. But I don't find anyone else fining this problem.
Thanks in advance!
Add tf.logging.set_verbosity(tf.logging.INFO) after the import section of the model_main.py script. It will display a summary after every 100th step.
As Thommy257 suggested, adding tf.logging.set_verbosity(tf.logging.INFO) after the import section of model_main.py prints the summary after every 100 steps by default.
Further, to specify the frequency of the summary, change
config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir)
to
config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, log_step_count_steps=k)
where it will print after every k steps.
Regarding the recent change to model_main , the previous version is available at the folder "legacy". I use train.py and eval.py from this legacy folder with the same functionality as before.

Tensorflow - The source code of the tensorflow_inception_graph.pb

Does anyone know the original source code of the tensorflow_inception_graph.pb.
I really wan't to know the operation in the example project
The tensorflow/example/android - Read me.
Tensorflow Android Camera Demo
https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/examples/android/
https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip
Thanks
This code has not yet been released. As the release announcement for the latest ImageNet model mentions, the team is working on releasing the complete Python training framework for this type of model, including the code for building the graph.
I think you the rb and inception labels assets directly from here.