Using TensorBoard in ifbpy
Simple Example
import caffe2.contrib.tensorboard.tensorboard as tb
import caffe2.contrib.tensorboard.tensorboard_exporter as tb_exporter
from caffe2.python import brew, core, model_helper
model = model_helper.ModelHelper(name="overfeat")
data, label = brew.image_input(
model, ["db"], ["data", "label"], is_test=0
)
with core.NameScope("conv1"):
conv1 = brew.conv(model, data, "conv1", 3, 96, 11, stride=4)
relu1 = brew.relu(model, conv1, conv1)
pool1 = brew.max_pool(model, relu1, "pool1", kernel=2, stride=2)
with core.NameScope("conv2"):
conv2 = brew.conv(model, pool1, "conv2", 96, 256, 5)
relu2 = brew.relu(model, conv2, conv2)
pool2 = brew.max_pool(model, relu2, "pool2", kernel=2, stride=2)
with core.NameScope("conv3"):
conv3 = brew.conv(model, pool2, "conv3", 256, 512, 3, pad=1)
relu3 = brew.relu(model, conv3, conv3)
with core.NameScope("conv4"):
conv4 = brew.conv(model, relu3, "conv4", 512, 1024, 3, pad=1)
relu4 = brew.relu(model, conv4, conv4)
with core.NameScope("conv5"):
conv5 = brew.conv(model, relu4, "conv5", 1024, 1024, 3, pad=1)
relu5 = brew.relu(model, conv5, conv5)
pool5 = brew.max_pool(model, relu5, "pool5", kernel=2, stride=2)
with core.NameScope("fc6"):
fc6 = brew.fc(model, pool5, "fc6", 1024*6*6, 3072)
relu6 = brew.relu(model, fc6, "fc6")
with core.NameScope("fc7"):
fc7 = brew.fc(model, relu6, "fc7", 3072, 4096)
relu7 = brew.relu(model, fc7, "fc7")
with core.NameScope("classifier"):
fc8 = brew.fc(model, relu7, "fc8", 4096, 1000)
pred = brew.softmax(model, fc8, "pred")
xent = model.LabelCrossEntropy([pred, label], "xent")
loss = model.AveragedLoss(xent, "loss")
model.net.RunAllOnGPU()
model.param_init_net.RunAllOnGPU()
model.AddGradientOperators([loss], skip=1)
tb.Config.HEIGHT = 700
tb.visualize_cnn(model)