Beispiel #1
0
    def make_controls(self):
        button_begin = Button(icon="fast-backward", layout=Layout(width='100%'))
        button_prev = Button(icon="backward", layout=Layout(width='100%'))
        button_next = Button(icon="forward", layout=Layout(width='100%'))
        button_end = Button(icon="fast-forward", layout=Layout(width='100%'))
        #button_prop = Button(description="Propagate", layout=Layout(width='100%'))
        #button_train = Button(description="Train", layout=Layout(width='100%'))
        self.button_play = Button(icon="play", description="Play", layout=Layout(width="100%"))
        refresh_button = Button(icon="refresh", layout=Layout(width="25%"))

        self.position_text = IntText(value=0, layout=Layout(width="100%"))

        self.control_buttons = HBox([
            button_begin,
            button_prev,
            #button_train,
            self.position_text,
            button_next,
            button_end,
            self.button_play,
            refresh_button
        ], layout=Layout(width='100%', height="50px"))
        length = (len(self.net.dataset.train_inputs) - 1) if len(self.net.dataset.train_inputs) > 0 else 0
        self.control_slider = IntSlider(description="Dataset index",
                                   continuous_update=False,
                                   min=0,
                                   max=max(length, 0),
                                   value=0,
                                   layout=Layout(width='100%'))
        if self.net.config["dashboard.dataset"] == "Train":
            length = len(self.net.dataset.train_inputs)
        else:
            length = len(self.net.dataset.test_inputs)
        self.total_text = Label(value="of %s" % length, layout=Layout(width="100px"))
        self.zoom_slider = FloatSlider(description="Zoom",
                                       continuous_update=False,
                                       min=0, max=1.0,
                                       style={"description_width": 'initial'},
                                       layout=Layout(width="65%"),
                                       value=self.net.config["svg_scale"] if self.net.config["svg_scale"] is not None else 0.5)

        ## Hook them up:
        button_begin.on_click(lambda button: self.goto("begin"))
        button_end.on_click(lambda button: self.goto("end"))
        button_next.on_click(lambda button: self.goto("next"))
        button_prev.on_click(lambda button: self.goto("prev"))
        self.button_play.on_click(self.toggle_play)
        self.control_slider.observe(self.update_slider_control, names='value')
        refresh_button.on_click(lambda widget: (self.update_control_slider(),
                                                self.output.clear_output(),
                                                self.regenerate()))
        self.zoom_slider.observe(self.update_zoom_slider, names='value')
        self.position_text.observe(self.update_position_text, names='value')
        # Put them together:
        controls = VBox([HBox([self.control_slider, self.total_text], layout=Layout(height="40px")),
                         self.control_buttons], layout=Layout(width='100%'))

        #net_page = VBox([control, self.net_svg], layout=Layout(width='95%'))
        controls.on_displayed(lambda widget: self.regenerate())
        return controls
Beispiel #2
0
 def make_controls(self):
     button_begin = Button(icon="fast-backward", layout=Layout(width='100%'))
     button_prev = Button(icon="backward", layout=Layout(width='100%'))
     button_next = Button(icon="forward", layout=Layout(width='100%'))
     button_end = Button(icon="fast-forward", layout=Layout(width='100%'))
     self.button_play = Button(icon="play", description="Play", layout=Layout(width="100%"))
     self.control_buttons = HBox([
         button_begin,
         button_prev,
         self.position_text,
         button_next,
         button_end,
         self.button_play,
     ], layout=Layout(width='100%', height="50px"))
     self.control_slider = IntSlider(description=self.title,
                                     continuous_update=False,
                                     min=0,
                                     max=max(self.length - 1, 0),
                                     value=0,
                                     style={"description_width": 'initial'},
                                     layout=Layout(width='100%'))
     ## Hook them up:
     button_begin.on_click(lambda button: self.goto("begin"))
     button_end.on_click(lambda button: self.goto("end"))
     button_next.on_click(lambda button: self.goto("next"))
     button_prev.on_click(lambda button: self.goto("prev"))
     self.button_play.on_click(self.toggle_play)
     self.control_slider.observe(self.update_slider_control, names='value')
     controls = VBox([HBox([self.control_slider, self.total_text], layout=Layout(height="40px")),
                      self.control_buttons], layout=Layout(width='100%'))
     controls.on_displayed(lambda widget: self.initialize())
     return controls
Beispiel #3
0
 def make_controls(self):
     button_begin = Button(icon="fast-backward", layout=Layout(width='100%'))
     button_prev = Button(icon="backward", layout=Layout(width='100%'))
     button_next = Button(icon="forward", layout=Layout(width='100%'))
     button_end = Button(icon="fast-forward", layout=Layout(width='100%'))
     self.button_play = Button(icon="play", description="Play", layout=Layout(width="100%"))
     self.control_buttons = HBox([
         button_begin,
         button_prev,
         self.position_text,
         button_next,
         button_end,
         self.button_play,
     ], layout=Layout(width='100%', height="50px"))
     self.control_slider = IntSlider(description=self.title,
                                     continuous_update=False,
                                     min=0,
                                     max=max(self.length - 1, 0),
                                     value=0,
                                     style={"description_width": 'initial'},
                                     layout=Layout(width='100%'))
     ## Hook them up:
     button_begin.on_click(lambda button: self.goto("begin"))
     button_end.on_click(lambda button: self.goto("end"))
     button_next.on_click(lambda button: self.goto("next"))
     button_prev.on_click(lambda button: self.goto("prev"))
     self.button_play.on_click(self.toggle_play)
     self.control_slider.observe(self.update_slider_control, names='value')
     controls = VBox([HBox([self.control_slider, self.total_text], layout=Layout(height="40px")),
                      self.control_buttons], layout=Layout(width='100%'))
     controls.on_displayed(lambda widget: self.initialize())
     return controls
Beispiel #4
0
 def make_controls(self):
     button_begin = Button(icon="fast-backward",
                           layout=Layout(width="100%"))
     button_prev = Button(icon="backward", layout=Layout(width="100%"))
     button_next = Button(icon="forward", layout=Layout(width="100%"))
     button_end = Button(icon="fast-forward", layout=Layout(width="100%"))
     self.button_play = Button(icon="play",
                               description="Play",
                               layout=Layout(width="100%"))
     self.control_buttons = HBox(
         [
             button_begin,
             button_prev,
             self.position_text,
             button_next,
             button_end,
             self.button_play,
         ],
         layout=Layout(width="100%", height="50px"),
     )
     self.control_slider = FloatSlider(
         description=self.title,
         continuous_update=False,
         min=0.0,
         step=0.1,
         max=max(round(self.length * 0.1, 1), 0.0),
         value=0.0,
         readout_format=".1f",
         style={"description_width": "initial"},
         layout=Layout(width="100%"),
     )
     ## Hook them up:
     button_begin.on_click(lambda button: self.goto("begin"))
     button_end.on_click(lambda button: self.goto("end"))
     button_next.on_click(lambda button: self.goto("next"))
     button_prev.on_click(lambda button: self.goto("prev"))
     self.button_play.on_click(self.toggle_play)
     self.control_slider.observe(self.update_slider_control, names="value")
     controls = VBox(
         [
             HBox([self.control_slider, self.total_text],
                  layout=Layout(height="40px")),
             self.control_buttons,
         ],
         layout=Layout(width="100%"),
     )
     controls.on_displayed(lambda widget: self.initialize())
     return controls
Beispiel #5
0
    def make_controls(self):
        layout = Layout(width='100%', height="100%")
        button_begin = Button(icon="fast-backward", layout=layout)
        button_prev = Button(icon="backward", layout=layout)
        button_next = Button(icon="forward", layout=layout)
        button_end = Button(icon="fast-forward", layout=layout)
        #button_prop = Button(description="Propagate", layout=Layout(width='100%'))
        #button_train = Button(description="Train", layout=Layout(width='100%'))
        self.button_play = Button(icon="play", description="Play", layout=layout)
        step_down = Button(icon="sort-down", layout=Layout(width="95%", height="100%"))
        step_up = Button(icon="sort-up", layout=Layout(width="95%", height="100%"))
        up_down = HBox([step_down, step_up], layout=Layout(width="100%", height="100%"))
        refresh_button = Button(icon="refresh", layout=Layout(width="25%", height="100%"))

        self.position_text = IntText(value=0, layout=layout)

        self.control_buttons = HBox([
            button_begin,
            button_prev,
            #button_train,
            self.position_text,
            button_next,
            button_end,
            self.button_play,
            up_down,
            refresh_button
        ], layout=Layout(width='100%', height="100%"))
        length = (len(self.net.dataset.train_inputs) - 1) if len(self.net.dataset.train_inputs) > 0 else 0
        self.control_slider = IntSlider(description="Dataset index",
                                   continuous_update=False,
                                   min=0,
                                   max=max(length, 0),
                                   value=0,
                                   layout=Layout(width='100%'))
        if self.net.config["dashboard.dataset"] == "Train":
            length = len(self.net.dataset.train_inputs)
        else:
            length = len(self.net.dataset.test_inputs)
        self.total_text = Label(value="of %s" % length, layout=Layout(width="100px"))
        self.zoom_slider = FloatSlider(description="Zoom",
                                       continuous_update=False,
                                       min=0, max=1.0,
                                       style={"description_width": 'initial'},
                                       layout=Layout(width="65%"),
                                       value=self.net.config["svg_scale"] if self.net.config["svg_scale"] is not None else 0.5)

        ## Hook them up:
        button_begin.on_click(lambda button: self.goto("begin"))
        button_end.on_click(lambda button: self.goto("end"))
        button_next.on_click(lambda button: self.goto("next"))
        button_prev.on_click(lambda button: self.goto("prev"))
        self.button_play.on_click(self.toggle_play)
        self.control_slider.observe(self.update_slider_control, names='value')
        refresh_button.on_click(lambda widget: (self.update_control_slider(),
                                                self.output.clear_output(),
                                                self.regenerate()))
        step_down.on_click(lambda widget: self.move_step("down"))
        step_up.on_click(lambda widget: self.move_step("up"))
        self.zoom_slider.observe(self.update_zoom_slider, names='value')
        self.position_text.observe(self.update_position_text, names='value')
        # Put them together:
        controls = VBox([HBox([self.control_slider, self.total_text], layout=Layout(height="40px")),
                         self.control_buttons], layout=Layout(width='100%'))

        #net_page = VBox([control, self.net_svg], layout=Layout(width='95%'))
        controls.on_displayed(lambda widget: self.regenerate())
        return controls