2) use of Conv2DTranspose with manually constructed weights to mimic unpooling (not supported in TensorFlow.js yet),
As Nikhil Thorat suggests, using Separable (De)convolutions like ones in MobileNet may mitigate this issue when supports are available.
--
You received this message because you are subscribed to the Google Groups "TensorFlow.js Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tfjs+uns...@tensorflow.org.
Visit this group at https://groups.google.com/a/tensorflow.org/group/tfjs/.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfjs/04333ad6-ef73-4a4e-bb91-5fc0b80d63e7%40tensorflow.org.
Some other concerns about TFJS and security to the TF JS dev team. In few steps it's easy to download the models files and reproduce the model locally. Now, supposed that a TFJS model running in the browser is copyright protected by the author, and that the javascript can be obfuscated wit uglify etc, is there a way to protect at least the model's files in some way?
--
You received this message because you are subscribed to the Google Groups "TensorFlow.js Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tfjs+uns...@tensorflow.org.
Visit this group at https://groups.google.com/a/tensorflow.org/group/tfjs/.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfjs/1a846f66-5c6d-4c74-b247-eed2b0a678a4%40tensorflow.org.
Great q. Short version of an answer: We've been thinking about this a lot. There is no way to protect a model at the moment. For now, if you want to protect the model for all but a small set of users, you can do what the web does, use auth tokens and require users to authenticate. You'd have to trust those users.Daniel
On Wed, Apr 25, 2018 at 10:51 AM Loreto Parisi <loreto...@gmail.com> wrote:
Thanks for sharing I have tried the tool with both the GAN 64 and ResNet 128 and 256.--
Few questions:
- Why did you use Chainer's GAN?
- Are the model's chunks i.e. the files named shards the only way to handle these files i.e. multiple files rather than a single file (or is the latter possible?)
Some other concerns about TFJS and security to the TF JS dev team. In few steps it's easy to download the models files and reproduce the model locally. Now, supposed that a TFJS model running in the browser is copyright protected by the author, and that the javascript can be obfuscated wit uglify etc, is there a way to protect at least the model's files in some way?
Thank you
Il giorno martedì 24 aprile 2018 02:55:07 UTC+2, Yingtao Tian ha scritto:Hey everybody,I would like to share https://alantian.net/ganshowcase/ , my weekend project which is a showcase of a deep GAN (Generative Adversarial Network) that generates (or dreams) high resolution (256x256) photo realistic images, running completely on browser thanks to TensorFlow.js .Technically, the network architecture is similar to the residual network (ResNet) based generator (Gulrajani et al.), as well as the classical DCGAN generator (Radford et al.) and the GAN training uses DRAGAN (Kodali et al.) style gradient penalty for better stability. Training code is written in Chainer. The trained model is then manually converted to a Keras model, which in turn is converted to a web-runnable TensorFlow.js model. The dataset used for training is CelebAHQ, an dataset for Karras et al. which can be obtained by consulting its github repo.(More info follows in the project page)Note that one issue is that the model files are large (good model occupies ~200+MB) due to (1) ResNet-like architecture and (2) use of Conv2DTranspose with manually constructed weights to mimic unpooling (not supported in TensorFlow.js yet), both leads to large (de)convolution in the network, especially in early layers. As Nikhil Thorat suggests, using Separable (De)convolutions like ones in MobileNet may mitigate this issue when supports are available.Feedback are welcome!
You received this message because you are subscribed to the Google Groups "TensorFlow.js Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tfjs+unsubscribe@tensorflow.org.
Visit this group at https://groups.google.com/a/tensorflow.org/group/tfjs/.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfjs/1a846f66-5c6d-4c74-b247-eed2b0a678a4%40tensorflow.org.
This is amazing. Btw the demo gives 404.
2) use of Conv2DTranspose with manually constructed weights to mimic unpooling (not supported in TensorFlow.js yet),Looks like TF Python doesn't have unpooling yet also. Unpooling seems to be the gradient of maxPool, which we have implemented, but haven't exposed it yet to the public API. Instead of unpooling, can you try using bilinearResize , after the conv2d, to upscale the input.
As Nikhil Thorat suggests, using Separable (De)convolutions like ones in MobileNet may mitigate this issue when supports are available.We already have separable conv in tfjs. Try it out!
Thanks for sharing I have tried the tool with both the GAN 64 and ResNet 128 and 256.
Few questions:
- Why did you use Chainer's GAN?
- Are the model's chunks i.e. the files named shards the only way to handle these files i.e. multiple files rather than a single file (or is the latter possible?)
Some other concerns about TFJS and security to the TF JS dev team. In few steps it's easy to download the models files and reproduce the model locally. Now, supposed that a TFJS model running in the browser is copyright protected by the author, and that the javascript can be obfuscated wit uglify etc, is there a way to protect at least the model's files in some way?
One issue is that I want a separable version of conv2DTranspose --- would it be possible do to it with separableConv2d
--
You received this message because you are subscribed to the Google Groups "TensorFlow.js Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tfjs+uns...@tensorflow.org.
Visit this group at https://groups.google.com/a/tensorflow.org/group/tfjs/.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfjs/eb22bdf4-e119-4ab6-ba8c-2b23b5b55292%40tensorflow.org.
To unsubscribe from this group and stop receiving emails from it, send an email to tfjs+unsubscribe@tensorflow.org.
Visit this group at https://groups.google.com/a/tensorflow.org/group/tfjs/.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfjs/a5220365-305c-4350-9bb9-c0201f222746%40tensorflow.org.