y,
                        filename=filename,
                        group_name=group_name,
                        model=model)

# Now we feed the data to the actual Replay object so we can build the visualizations
replay = Replay(replay_filename=filename, group_name=group_name)

# Using subplot2grid to assemble a complex figure...
fig = plt.figure(figsize=(12, 6))
ax_zvalues = plt.subplot2grid((2, 2), (0, 0))
ax_weights = plt.subplot2grid((2, 2), (0, 1))
ax_activations = plt.subplot2grid((2, 2), (1, 0))
ax_gradients = plt.subplot2grid((2, 2), (1, 1))

wv = replay.build_weights(ax_weights)
gv = replay.build_gradients(ax_gradients)
# Z-values
zv = replay.build_outputs(ax_zvalues,
                          before_activation=True,
                          exclude_outputs=True,
                          include_inputs=False)
# Activations
av = replay.build_outputs(ax_activations,
                          exclude_outputs=True,
                          include_inputs=False)

# Finally, we use compose_plots to update all
# visualizations at once
fig = compose_plots([zv, wv, av, gv], epoch=0, title=title)
fig.savefig('part2.png', format='png', dpi=120)
model.add(Activation('relu'))
model.add(
    Dense(units=1,
          kernel_initializer=normal_initializer,
          activation='sigmoid',
          name='output'))

model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=['acc'])

model.fit(X, y, epochs=200, batch_size=16, callbacks=[replaydata])

replay = Replay(replay_filename='circles_dataset.h5', group_name=group_name)

fig = plt.figure(figsize=(12, 6))
ax_fs = plt.subplot2grid((2, 4), (0, 0), colspan=2, rowspan=2)
ax_ph_neg = plt.subplot2grid((2, 4), (0, 2))
ax_ph_pos = plt.subplot2grid((2, 4), (1, 2))
ax_lm = plt.subplot2grid((2, 4), (0, 3))
ax_lh = plt.subplot2grid((2, 4), (1, 3))

fs = replay.build_decision_boundary(ax_fs, xlim=(-1.5, 1.5), ylim=(-1.5, 1.5))
ph = replay.build_probability_histogram(ax_ph_neg, ax_ph_pos)
lh = replay.build_loss_histogram(ax_lh)
lm = replay.build_loss_and_metric(ax_lm, 'acc')

sample_figure = compose_plots([fs, ph, lm, lh], 150)
sample_figure.savefig('circles.png', dpi=120, format='png')

sample_anim = compose_animations([fs, ph, lm, lh])
sample_anim.save(filename='circles.mp4', dpi=120, fps=5)
Beispiel #3
0
    model.add(Dense(units=1,
                    kernel_initializer=normal_initializer,
                    activation='sigmoid',
                    name='output'))

    model.compile(loss='binary_crossentropy',
                  optimizer=sgd,
                  metrics=['acc'])

    model.fit(X, y, epochs=150, batch_size=16, callbacks=[replaydata])

fig, axs = plt.subplots(1, 3, figsize=(12, 4))

replays = []
for activation in ['sigmoid', 'tanh', 'relu']:
    replays.append(Replay(replay_filename='comparison_activation_functions.h5', group_name=activation))

spaces = []
for ax, replay, activation in zip(axs, replays, ['sigmoid', 'tanh', 'relu']):
    space = replay.build_feature_space(ax, layer_name='hidden')
    space.set_title(activation)
    spaces.append(space)

sample_figure = compose_plots(spaces, 80)
sample_figure.savefig('comparison.png', dpi=120, format='png')

#sample_anim = compose_animations(spaces)
#sample_anim.save(filename='comparison.mp4', dpi=120, fps=5)

                activation='sigmoid',
                name='output'))

model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['acc'])

model.fit(X, y, epochs=100, batch_size=16, callbacks=[replaydata])

replay = Replay(replay_filename='spambase_dataset.h5', group_name=group_name)

fig = plt.figure(figsize=(12, 6))
ax_fs = plt.subplot2grid((2, 4), (0, 0), colspan=2, rowspan=2)
ax_ph_neg = plt.subplot2grid((2, 4), (0, 2))
ax_ph_pos = plt.subplot2grid((2, 4), (1, 2))
ax_lm = plt.subplot2grid((2, 4), (0, 3))
ax_lh = plt.subplot2grid((2, 4), (1, 3))

fs = replay.build_feature_space(ax_fs, layer_name='hidden',
                                display_grid=False, scale_fixed=False)
ph = replay.build_probability_histogram(ax_ph_neg, ax_ph_pos)
lh = replay.build_loss_histogram(ax_lh)
lm = replay.build_loss_and_metric(ax_lm, 'acc')

sample_figure = compose_plots([fs, ph, lm, lh], 80)
sample_figure.savefig('spambase.png', dpi=120, format='png')

sample_anim = compose_animations([fs, ph, lm, lh])
sample_anim.save(filename='spambase.mp4', dpi=120, fps=5)

Beispiel #5
0
# Now we feed the data to the actual Replay object
# so we can build the visualizations
replay = Replay(replay_filename=filename, group_name=group_name)

# Using subplot2grid to assemble a complex figure...
fig = plt.figure(figsize=(12, 6))
ax_zvalues = plt.subplot2grid((2, 2), (0, 0))
ax_weights = plt.subplot2grid((2, 2), (0, 1))
ax_activations = plt.subplot2grid((2, 2), (1, 0))
ax_gradients = plt.subplot2grid((2, 2), (1, 1))

wv = replay.build_weights(ax_weights)
gv = replay.build_gradients(ax_gradients)
# Z-values
zv = replay.build_outputs(ax_zvalues,
                          before_activation=True,
                          exclude_outputs=True,
                          include_inputs=False)
# Activations
av = replay.build_outputs(ax_activations,
                          exclude_outputs=True,
                          include_inputs=False)

# Finally, we use compose_plots to update all
# visualizations at once
fig = compose_plots(
    [zv, wv, av, gv],
    epoch=0,
    title=r'Activation: sigmoid - Initializer: Normal $\sigma = 0.01$')