├── .gitmodules ├── .gitignore ├── LICENSE ├── CMakeLists.txt ├── README.md ├── src └── tsne_op.cpp └── example.ipynb /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "bhtsne"] 2 | path = bhtsne 3 | url = https://github.com/lvdmaaten/bhtsne 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Compiled Dynamic libraries 12 | *.so 13 | *.dylib 14 | *.dll 15 | 16 | # Fortran module files 17 | *.mod 18 | *.smod 19 | 20 | # Compiled Static libraries 21 | *.lai 22 | *.la 23 | *.a 24 | *.lib 25 | 26 | # Executables 27 | *.exe 28 | *.out 29 | *.app 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017, Yangqing Jia 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ---[ An example on how to properly write a CMake file for Caffe2 Module. 2 | 3 | # ---[ (1) CMake version requirement. 4 | # This is the common requirement for your cmake version. Usually Caffe2 5 | # requires a minimum of 2.8.12. 6 | cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) 7 | 8 | # ---[ (2) Find the Caffe2 package. 9 | # Caffe2 provides cmake config files that give you modern C++ target 10 | # definitions. After find_package, you should be able to use the caffe2 11 | # and caffe2_gpu (depending on whether your Caffe2 installation has gpu) 12 | # in your targets. 13 | # 14 | # The reason we wrap the find_package command inside an if statement is 15 | # that, Caffe2 itself contains a series of modules that is potentially 16 | # built together with the Caffe2 main build. During that time, one does 17 | # not need to invoke the find_package command. 18 | if (NOT CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO) 19 | find_package(Caffe2 REQUIRED) 20 | endif() 21 | 22 | # ---[ (3) Your main library. 23 | # This is the standard C++ library that you will build for your module. 24 | # Give it a name and include the corresponding source files. We recommend 25 | # you to name the library "caffe2_something", where something is the 26 | # functionality it provides. The reason is also that, in this way, we can 27 | # clearly mark what interface it provides to downstream libraries, such as 28 | # "caffe2_rocksdb". 29 | add_library(caffe2_tsne 30 | ${CMAKE_CURRENT_SOURCE_DIR}/src/tsne_op.cpp 31 | ${CMAKE_CURRENT_SOURCE_DIR}/bhtsne/sptree.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/bhtsne/tsne.cpp 33 | ) 34 | 35 | target_include_directories(caffe2_tsne 36 | PRIVATE 37 | ${CMAKE_CURRENT_SOURCE_DIR}/bhtsne/) 38 | 39 | # ---[ (4) Add your custom flags and target rules here. 40 | # For the case of TSNE, we don't have anything to add. 41 | 42 | # ---[ (5) Link your library against caffe2. 43 | target_link_libraries(caffe2_tsne caffe2) 44 | 45 | # ---[ (6) Install your target library to the intended target folder. 46 | # This allows your library to then connect with 47 | install(TARGETS caffe2_tsne DESTINATION lib) 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Caffe2 TSNE example 2 | 3 | ## What's this? 4 | 5 | [Caffe2](https://github.com/caffe2/caffe2) is an open-source deep learning library that is designed to be modular in nature. For many deep learning libraries, especially those earlier ones such as [Caffe](https://github.com/BVLC/caffe), one either only sticks with only the operators provided by the framework, or has to do non-trivial modifications to the codebase in order to compile custom implementation into the library. 6 | 7 | This repository gives an example on how you can develop your custom operators and functionalities independent from the main Caffe2 codebase, and "plug-in" these into Caffe2 by dynamically loading your operators. The benefits are that 8 | 9 | - You can maintain your own library at your own pace. 10 | - You have a better control over the codebase. 11 | - It becomes easier to share code instead of having to merge and constantly upstream changes from the main Caffe2 library. 12 | 13 | ## How should I use this? 14 | 15 | Imagine you are developing a new deep learning algorithm, and in your method you have some new layers / operators that existing frameworks do not cover. At the same time, you still want to take advantage of the existing framework functionalities. What you can do is to write them as standard Caffe2 operators, build your code as a shared library, and then load it either from C++ or Python. 16 | 17 | We will demonstrate the mechanism using a popular software package, T-SNE, and show how one can create a Caffe2 operator that produces T-SNE embeddings from an input Tensor, living under the Caffe2 runtime. 18 | 19 | ## Getting started 20 | 21 | To build the library, install the most recent version of Caffe2. Then, follow the standard cmake installation protocol. Usually what people do with cmake is like `mkdir build && cd build && cmake .. && make`. 22 | 23 | To run the ipython notebook, simply do `ipython notebook` in the root folder of this repository. If your Caffe2 install is not in the default python path, you might need to add `PYTHONPATH=/path/to/your/caffe2/install` before the ipython command. You will also need to download the MNIST dataset [here](http://yann.lecun.com/exdb/mnist/). 24 | -------------------------------------------------------------------------------- /src/tsne_op.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * TSNE op implementation. 3 | * 4 | * This file uses a typical Caffe2 interface to implement the TSNE algorithm 5 | * that can take in a set of feature vectors, and produce low-dimensional 6 | * embeddings out of them. 7 | * 8 | * The actual tsne implementation is provided in the bhtsne subfolder, from 9 | * lvdmarteen's original repository. 10 | */ 11 | 12 | // Typical Caffe2 headers that you will usually need: context.h defines the 13 | // CPUContext interface, and operator.h defines the Caffe2 operator interface. 14 | #include "caffe2/core/context.h" 15 | #include "caffe2/core/operator.h" 16 | 17 | // The header file of the TSNE implementation. 18 | #include "tsne.h" 19 | 20 | // Please consider putting your implementation under the caffe2 namespace. 21 | namespace caffe2 { 22 | 23 | /** 24 | * The TSNE operator. See the operator schema section below on what its input, 25 | * output and parameters mean. 26 | * 27 | * Note that since the TSNE algorithm only supports CPU, this operator is a 28 | * derived class of Operator. 29 | */ 30 | class TSNEOp final : public Operator { 31 | public: 32 | // This is a helper macro that tells the compiler that we are going to 33 | // use a lot of the Operator member objects and methods. See 34 | // caffe2/core/operator.h for more details. 35 | USE_OPERATOR_FUNCTIONS(CPUContext); 36 | 37 | // The constructor. A Caffe2 operator constructor should always accept two 38 | // inputs: an OperatorDef protobuf object, and a pointer to a workspace, 39 | // which hosts all of the blobs. 40 | TSNEOp(const OperatorDef& operator_def, Workspace* ws) 41 | : Operator(operator_def, ws), 42 | // Now, below here, there are the set of parameters that this operator 43 | // will be using. These are also helper macros that are defined in 44 | // operator.h. 45 | OP_SINGLE_ARG(int, "dims", dims_, 0), 46 | OP_SINGLE_ARG(float, "perplexity", perplexity_, 50), 47 | OP_SINGLE_ARG(float, "theta", theta_, 0.5f), 48 | OP_SINGLE_ARG(int, "random_seed", random_seed_, 0), 49 | OP_SINGLE_ARG(int, "max_iter", max_iter_, 1000), 50 | tsne_(new TSNE()) { 51 | // CAFFE_ENFORCE is the way we check parameter correctness. For example, 52 | // in TSNE, we should always have a non-negative dimension. If this is not 53 | // met, an exception is going to be thrown. 54 | CAFFE_ENFORCE( 55 | dims_ > 0, 56 | "You should specify the number of output dimensions."); 57 | } 58 | 59 | // RunOnDevice() is the function that you should implement for the operator 60 | // interface. 61 | bool RunOnDevice() override { 62 | // If we have two inputs, then we will skip the random initialization step 63 | // in TSNE and use the existing values in Input(1) as the initial values. 64 | bool skip_random_init = (InputSize() == 2); 65 | // Input(0) gives you a const reference to the first input, which should 66 | // be a TensorCPU object. 67 | const TensorCPU& X = Input(0); 68 | CAFFE_ENFORCE( 69 | X.ndim() == 2, 70 | "TSNE expects a 2-dimensional tensor as input."); 71 | CAFFE_ENFORCE( 72 | X.IsType(), 73 | "TSNE expects the input to be of data type double."); 74 | const int N = X.dim32(0); 75 | const int D = X.dim32(1); 76 | // If we have 2 inputs, the second input should be of the correct shape. 77 | // These sanity checks should be self explanatory. 78 | if (InputSize() == 2) { 79 | const TensorCPU& init = Input(1); 80 | CAFFE_ENFORCE(init.ndim() == 2); 81 | CAFFE_ENFORCE(init.dim32(0) == N); 82 | CAFFE_ENFORCE(init.dim32(1) == dims_); 83 | CAFFE_ENFORCE(init.IsType()); 84 | } 85 | // In any case, we will get the output TensorCPU object, and reshape it to 86 | // the correct shape. 87 | TensorCPU* Y = Output(0); 88 | Y->Resize(N, dims_); 89 | 90 | // After all these, we will simply start running the tsne algorithm. 91 | tsne_->run( 92 | // this gets a const point of the input data. Some times a third party 93 | // library does not distinguish const pointers, which is the case of 94 | // TSNE. Thus, we will need a const_cast here too. 95 | const_cast(X.template data()), 96 | N, 97 | D, 98 | // mutable_data gives the underlying storage, and also, if necessary, 99 | // does the actual memory allocation. 100 | Y->template mutable_data(), 101 | dims_, 102 | perplexity_, 103 | theta_, 104 | random_seed_, 105 | skip_random_init, 106 | max_iter_); 107 | 108 | // If everything works fine, return true which is needed by the function signature. 109 | return true; 110 | } 111 | 112 | protected: 113 | // The actual parameter member variables. 114 | int dims_; 115 | float perplexity_; 116 | float theta_; 117 | int random_seed_; 118 | int max_iter_; 119 | bool is_test_; 120 | // The TSNE object that the underlying algorithm is implemented with. 121 | std::unique_ptr tsne_; 122 | }; 123 | 124 | // This registeres the TSNEOp into Caffe2's operator registry. Essentially, 125 | // it tells Caffe that if it encounters an operator definition named "TSNE", 126 | // TSNEOp is the one that it needs to instantiate. 127 | REGISTER_CPU_OPERATOR(TSNE, TSNEOp); 128 | 129 | // Operator schema. This gives a detailed description of what this operator 130 | // is doing, and its intended input, output, and parameters. 131 | OPERATOR_SCHEMA(TSNE) 132 | // The operator can take either 1 input, or 2 inputs, where the second input 133 | // is the pre-initialized TSNE embedding to start the algorithm with. 134 | .NumInputs(1, 2) 135 | // The operator produces a single output which is the tsne embedding. 136 | .NumOutputs(1) 137 | // If there are two inputs, the second input and the first output should 138 | // always be in-place, meaning that we will write the embedding into the 139 | // initialization tensor. 140 | .EnforceInplace({{1, 0}}) 141 | // This is the detailed documentation of the operator. 142 | .SetDoc(R"DOC( 143 | The TSNE operator implements the Barnes-Hut t-SNE algorithm described in the 144 | paper: http://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf 145 | 146 | Specifically, it takes in a 2-dimensional tensor of shape (N, D), and produces 147 | a 2-dimensional tensor of shape (N, dim) that contains the t-SNE embedding of 148 | the input. For th meaning of the parameters, refer to the original paper. 149 | )DOC") 150 | .Arg("dim", "(int, required) the output dimension.") 151 | .Arg("perplexity", "(float, default 50) the perplexity param.") 152 | .Arg("theta", "(float, default 0.5) the theta param.") 153 | .Arg("random_seed", "(int, default 0) the random seed if init needed.") 154 | .Arg("max_iter", "(int, default 1000) the maximum iteration.") 155 | .Input(0, "X", "The input N*D tensor.") 156 | .Input(1, "Y", "(optional, in-place) the initialization of the output.") 157 | .Output(0, "Y", "The output t-SNE embedding."); 158 | 159 | // Gradient registration. This is easy in the TSNE case: you should never call 160 | // grdient on a TSNE operator, because it is not expected to be in a forward 161 | // backward pass. 162 | SHOULD_NOT_DO_GRADIENT(TSNE); 163 | 164 | } // namespace caffe2 165 | -------------------------------------------------------------------------------- /example.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Caffe2 TSNE example\n", 8 | "\n", 9 | "This example scripts shows you how to properly load a custom Caffe2 extension, usually in the form of a dynamic library, into Caffe2 Python and then use it.\n", 10 | "\n", 11 | "Caffe2 uses a registration pattern, and as a result, one simply needs to use the dyndep module in caffe2.python to load the extension library. What happens under the hood is that the corresponding operators get registered into the Caffe2 operator registry, and then one can create such related operators using the predefined name and calling convention.\n", 12 | "\n", 13 | "We will use the TSNE example to show this. If you haven't checked out the C++ part, read the source code, build it, and then invoke this ipython notebook." 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 1, 19 | "metadata": { 20 | "collapsed": false 21 | }, 22 | "outputs": [], 23 | "source": [ 24 | "# First, we will import the necessary dependencies.\n", 25 | "%matplotlib inline\n", 26 | "import os\n", 27 | "from matplotlib import pyplot\n", 28 | "import numpy as np\n", 29 | "import struct\n", 30 | "\n", 31 | "from caffe2.python import core, dyndep, workspace\n", 32 | "from caffe2.proto import caffe2_pb2" 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": 2, 38 | "metadata": { 39 | "collapsed": true 40 | }, 41 | "outputs": [], 42 | "source": [ 43 | "# This is what you will need to import your custom library.\n", 44 | "# It will load the .so file into Python, and register the\n", 45 | "# corresponding operators to the Caffe2 operator registry.\n", 46 | "dyndep.InitOpsLibrary('libcaffe2_tsne.so')" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 3, 52 | "metadata": { 53 | "collapsed": false 54 | }, 55 | "outputs": [ 56 | { 57 | "data": { 58 | "text/plain": [ 59 | "True" 60 | ] 61 | }, 62 | "execution_count": 3, 63 | "metadata": {}, 64 | "output_type": "execute_result" 65 | } 66 | ], 67 | "source": [ 68 | "# Now, since we know that our custom implementation is for\n", 69 | "# the TSNE operator, we will do a sanity check to make sure\n", 70 | "# it is there.\n", 71 | "'TSNE' in workspace.RegisteredOperators()" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 4, 77 | "metadata": { 78 | "collapsed": true 79 | }, 80 | "outputs": [], 81 | "source": [ 82 | "# We will create a quick helper function to load the MNIST dataset.\n", 83 | "# If you don't have it, you can download it here:\n", 84 | "# http://yann.lecun.com/exdb/mnist/\n", 85 | "# Make sure you gunzip it after downloading. Some browsers may do\n", 86 | "# that automatically for you.\n", 87 | "def read_mnist(dataset = \"training\", path = \".\"):\n", 88 | " \"\"\"\n", 89 | " Python function for importing the MNIST data set. It returns an iterator\n", 90 | " of 2-tuples with the first element being the label and the second element\n", 91 | " being a numpy.uint8 2D array of pixel data for the given image.\n", 92 | " \"\"\"\n", 93 | " if dataset is \"training\":\n", 94 | " fname_img = os.path.join(path, 'train-images-idx3-ubyte')\n", 95 | " fname_lbl = os.path.join(path, 'train-labels-idx1-ubyte')\n", 96 | " elif dataset is \"testing\":\n", 97 | " fname_img = os.path.join(path, 't10k-images-idx3-ubyte')\n", 98 | " fname_lbl = os.path.join(path, 't10k-labels-idx1-ubyte')\n", 99 | " else:\n", 100 | " raise ValueError, \"dataset must be 'testing' or 'training'\"\n", 101 | "\n", 102 | " # Load everything in some numpy arrays\n", 103 | " with open(fname_lbl, 'rb') as flbl:\n", 104 | " magic, num = struct.unpack(\">II\", flbl.read(8))\n", 105 | " lbl = np.fromfile(flbl, dtype=np.int8)\n", 106 | "\n", 107 | " with open(fname_img, 'rb') as fimg:\n", 108 | " magic, num, rows, cols = struct.unpack(\">IIII\", fimg.read(16))\n", 109 | " img = np.fromfile(fimg, dtype=np.uint8).reshape(len(lbl), rows, cols)\n", 110 | "\n", 111 | " return lbl, img" 112 | ] 113 | }, 114 | { 115 | "cell_type": "code", 116 | "execution_count": 5, 117 | "metadata": { 118 | "collapsed": false 119 | }, 120 | "outputs": [], 121 | "source": [ 122 | "# We will read in the MNIST dataset, and then take 5000\n", 123 | "# examples for the sake of speed.\n", 124 | "lbl, img = read_mnist()\n", 125 | "img = img.reshape(60000, 28*28).astype(np.double)[:5000]\n", 126 | "lbl = lbl[:5000]" 127 | ] 128 | }, 129 | { 130 | "cell_type": "code", 131 | "execution_count": 6, 132 | "metadata": { 133 | "collapsed": false 134 | }, 135 | "outputs": [], 136 | "source": [ 137 | "# Now, to create an operator for Caffe2 that does TSNE, one simply\n", 138 | "# provides the operator name, in this case \"TSNE\", the input name,\n", 139 | "# the output name, and the necessary arguments.\n", 140 | "# In the case of TSNE, we will specify that the output dims is 2,\n", 141 | "# and we will run the iteration a maximum of 1000 times.\n", 142 | "op = core.CreateOperator(\"TSNE\", \"img\", \"Y\", dims=2, max_iter=1000)" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 7, 148 | "metadata": { 149 | "collapsed": false 150 | }, 151 | "outputs": [ 152 | { 153 | "name": "stdout", 154 | "output_type": "stream", 155 | "text": [ 156 | "input: \"img\"\n", 157 | "output: \"Y\"\n", 158 | "name: \"\"\n", 159 | "type: \"TSNE\"\n", 160 | "arg {\n", 161 | " name: \"dims\"\n", 162 | " i: 2\n", 163 | "}\n", 164 | "arg {\n", 165 | " name: \"max_iter\"\n", 166 | " i: 1000\n", 167 | "}\n", 168 | "\n" 169 | ] 170 | } 171 | ], 172 | "source": [ 173 | "# The above essentially creates a protocol buffer object that defines\n", 174 | "# the operator. We can serialize it into a human readable format.\n", 175 | "print(str(op))" 176 | ] 177 | }, 178 | { 179 | "cell_type": "code", 180 | "execution_count": 8, 181 | "metadata": { 182 | "collapsed": false 183 | }, 184 | "outputs": [], 185 | "source": [ 186 | "# So, to run it, the easiest thing to do is:\n", 187 | "# (1) Load the input to the workspace,\n", 188 | "# (2) Run the operator,\n", 189 | "# (3) Fetch the output from the workspace.\n", 190 | "#\n", 191 | "# Of course, for more complex runs, you can add this operator\n", 192 | "# to either a net or a plan - see the official Caffe2 docs for\n", 193 | "# detailed instructions.\n", 194 | "workspace.FeedBlob(\"img\", img)\n", 195 | "workspace.RunOperatorOnce(op)\n", 196 | "Y = workspace.FetchBlob(\"Y\")" 197 | ] 198 | }, 199 | { 200 | "cell_type": "code", 201 | "execution_count": 9, 202 | "metadata": { 203 | "collapsed": false 204 | }, 205 | "outputs": [ 206 | { 207 | "data": { 208 | "text/plain": [ 209 | "" 210 | ] 211 | }, 212 | "execution_count": 9, 213 | "metadata": {}, 214 | "output_type": "execute_result" 215 | }, 216 | { 217 | "data": { 218 | "image/png": "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\nypl3/AoAAAAASUVORK5CYII=\n", 219 | "text/plain": [ 220 | "" 221 | ] 222 | }, 223 | "metadata": {}, 224 | "output_type": "display_data" 225 | } 226 | ], 227 | "source": [ 228 | "# In this case, let's visualize how the TSNE embedding looks like.\n", 229 | "my_colors = pyplot.get_cmap(\"jet\")(np.linspace(0.1, 1, 10))\n", 230 | "\n", 231 | "for i in range(10):\n", 232 | " pyplot.plot(Y[lbl==i, 0], Y[lbl==i, 1], '.', color=my_colors[i], label=str(i))\n", 233 | "pyplot.legend()\n", 234 | "pyplot.title(\"MNIST TSNE embedding\")" 235 | ] 236 | }, 237 | { 238 | "cell_type": "markdown", 239 | "metadata": {}, 240 | "source": [ 241 | "This is it! You can write your own implementations and very easily register it against Caffe2 in a similar fashion. Happy brewing!" 242 | ] 243 | }, 244 | { 245 | "cell_type": "code", 246 | "execution_count": null, 247 | "metadata": { 248 | "collapsed": true 249 | }, 250 | "outputs": [], 251 | "source": [] 252 | } 253 | ], 254 | "metadata": { 255 | "kernelspec": { 256 | "display_name": "Python 2", 257 | "language": "python", 258 | "name": "python2" 259 | }, 260 | "language_info": { 261 | "codemirror_mode": { 262 | "name": "ipython", 263 | "version": 2 264 | }, 265 | "file_extension": ".py", 266 | "mimetype": "text/x-python", 267 | "name": "python", 268 | "nbconvert_exporter": "python", 269 | "pygments_lexer": "ipython2", 270 | "version": "2.7.13" 271 | } 272 | }, 273 | "nbformat": 4, 274 | "nbformat_minor": 0 275 | } 276 | --------------------------------------------------------------------------------