Warning
This repository is archived and is no longer maintained.
Conveiro
Conveiro (convolutional + oneiro, Greek for "dream") is an open source library for feature visualization in deep convolutional networks. It implements multiple techniques for visualization, such as laplace, multiscale, deep dream and CDFS.
All of these methods are based on:
Deep dream
Deep dream is implementation of technique based on
- https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/deepdream/deepdream.ipynb
- https://ai.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html
How it works:
- We create random image (or we can use seed image)
- We feed this image to network and optimize it based on calculated gradients
- We employ few clever tricks based on scaling and frequencies
There are few more steps but this is the essence of this technique.
CDFS
CDFS (color-decorrelated fourier space) is custom implementation of technique based on
How it works:
- We generate random complex coefficient
- We use said coefficients to generate image by inverse fourier transformation
- After we feed this image to network we can calculate gradients and use gradient descent to optimize these coefficient
There are few more steps but this is the essence of this technique.
Requirements
- Python 3.4 and above
- Tensorflow (CPU or GPU variant, version 2 not yet supported)
- Numpy
- Matplotlib
- click, tensornets, pillow, graphviz (if you want to use the command-line tool with examples)
Installation
pip install conveiro
Development version
pip install -e . # from cloned repository
Command-line usage
This library comes with a command-line tool called conveiro
that can visualize and hallucinate networks from tensornets library.
Usage: conveiro COMMAND [OPTIONS] [ARGS]...
Commands:
graph Create a graph of the network architecture.
layers List available layers (operations) in a network.
networks List available network architectures (from tensornets).
render Hallucinate an image for a layer / neuron.
Run conveiro --help or conveiro [command-name] --help to
show the list of capabilities and options.
Examples
For examples how to use this library please take a look at jupyter notebooks in docs/ folder:
- https://github.com/Showmax/conveiro/tree/master/docs/deep_dream.ipynb
- https://github.com/Showmax/conveiro/tree/master/docs/cdfs.ipynb
Simplest example:
import tensorflow as tf
import tensornets as nets
from conveiro import cdfs
input_t, decorrelated_image_t, coeffs_t = cdfs.setup(224)
model = nets.Inception1(input_t)
graph = tf.get_default_graph()
with tf.Session() as sess:
sess.run(model.pretrained())
objective = graph.get_tensor_by_name("inception1/block3b/concat:0")
image = cdfs.render_image(sess, decorrelated_image_t, coeffs_t, objective[..., 55], 0.01)
cdfs.show_image(cdfs.process_image(image))
Note The API is preliminary and may change in future versions.
Articles
Metadata
Release files for conveiro 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| conveiro-0.2.1.tar.gz | 15.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| conveiro-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.8 kB
Release files / conveiro-0.2.1.tar.gz
| Download URL | conveiro-0.2.1.tar.gz |
|---|---|
| Size | 15.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8ef9640754a1fd25768afdc5fb31de09232dd3fc0b1477c120da661e5523326
|
|
BLAKE2b-256 checksum How to use checksums |
a0827ca6686068cabd433beeb3d21b6c63aa15c54c16ffcb75c9e49da55839e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|
Release files / conveiro-0.2.1-py3-none-any.whl
| Download URL | conveiro-0.2.1-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0c27ccfb3d965da700864a51dcd4099296a44fed5043ba90c6a0a5b8a6bbb21
|
|
BLAKE2b-256 checksum How to use checksums |
fb5df1ecdc33ff2490b3c9df325ced1c299f95c1a29608cda7053c2db0b84bc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|
Security for conveiro 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.