Lucid is a collection of infrastructure and tools for research in neural network interpretability.
In particular, it provides state of the art implementations of feature visualization techniques, and flexible abstractions that make it very easy to explore new research directions.
Lucid requires tensorflow
, but does not explicitly depend on it in setup.py
. Due to the way tensorflow is packaged and some deficiencies in how pip handles dependencies, specifying either the GPU or the non-GPU version of tensorflow will conflict with the version of tensorflow your already may have installed.
If you don't want to add your own dependency on tensorflow, you can specify which tensorflow version you want lucid to install by selecting from extras_require
like so: lucid[tf]
or lucid[tf_gpu]
.
In actual practice, we recommend you use your already installed version of tensorflow.
Start visualizing neural networks with no setup. The following notebooks run right from your browser, thanks to Colaboratory. It's a Jupyter notebook environment that requires no setup to use and runs entirely in the cloud.
You can run the notebooks on your local machine, too. Clone the repository and find them in the notebooks
subfolder. You will need to run a local instance of the Jupyter notebook environment to execute them.
Notebooks corresponding to the Feature Visualization article
Notebooks corresponding to the Building Blocks of Interpretability article
- Feature Visualization
- The Building Blocks of Interpretability
- Using Artificial Intelligence to Augment Human Intelligence
- Visualizing Representations: Deep Learning and Human Beings
You may use this software under the Apache 2.0 License. See LICENSE.
This project is research code. It is not an official Google product.
We use naming conventions to help differentiate tensors, operations, and values:
- Suffix variable names representing tensors with
_t
- Suffix variable names representing operations with
_op
- Don't suffix variable names representing concrete values
Usage example:
global_step_t = tf.train.get_or_create_global_step()
global_step_init_op = tf.variables_initializer([global_step_t])
global_step = global_step_t.eval()
Use tox
to run the test suite on all supported environments.
To run tests only for a specific module, pass a folder to tox
:
tox tests/misc/io
To run tests only in a specific environment, pass the environment's identifier
via the -e
flag: tox -e py27
.
After adding dependencies to setup.py
, run tox with the --recreate
flag to
update the environments' dependencies.