예제 #1
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- Plane')
        bimpy.same_line()
        bimpy_tools.help_marker(
            'generate with random points\n' \
            '* plane random: random on whole plane\n' \
            '* balanced random: balanced positive and negative samples'
        )

        bimpy.push_item_width(140)

        if bimpy.begin_combo('strategy##plane_random_generator',
                             self._select_strategy):
            for item in self._strategy_list:
                is_selected = bimpy.Bool(self._select_strategy == item)

                if bimpy.selectable(item, is_selected) and not is_lock:
                    self._select_strategy = item

                if is_selected.value:
                    bimpy.set_item_default_focus()
            bimpy.end_combo()

        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #2
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- SGD')
        bimpy.same_line()
        bimpy_tools.help_marker('torch.optim.SGD')

        flags = bimpy.InputTextFlags.EnterReturnsTrue
        if is_lock:
            flags |= bimpy.InputTextFlags.ReadOnly

        bimpy.push_item_width(120)

        if bimpy.input_float('lr##sgd_optimizer', self._lr, flags=flags):
            self._lr.value = max(0.0, self._lr.value)

        if bimpy.input_float('momentum##sgd_optimizer',
                             self._momentum,
                             flags=flags):
            self._momentum.value = max(0.0, self._momentum.value)

        if bimpy.input_float('dampening##sgd_optimizer',
                             self._dampening,
                             flags=flags):
            self._dampening.value = max(0.0, self._dampening.value)

        if bimpy.input_float('weight_decay##sgd_optimizer',
                             self._weight_decay,
                             flags=flags):
            self._weight_decay.value = max(0.0, self._weight_decay.value)

        if bimpy.checkbox('nesterov##sgd_optimizer', self._nesterov):
            self._hint_nesterov = False

        if self._nesterov.value:
            if self._momentum.value == 0 or self._dampening.value > 0:
                self._nesterov.value = False
                self._hint_nesterov = True

        bimpy.same_line()
        bimpy_tools.help_marker(
            'Nesterov momentum requires a momentum and zero dampening',
            self._hint_nesterov)

        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #3
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- Linear layer init')
        bimpy.same_line()
        bimpy_tools.help_marker(
            'Initializer used in torch.nn.Linear, use Kaiming uniform')

        bimpy.push_item_width(120)

        flags = bimpy.InputTextFlags.EnterReturnsTrue
        if is_lock:
            flags |= bimpy.InputTextFlags.ReadOnly

        if bimpy.input_float('a##sgd_optimizer', self._a, flags=flags):
            self._a.value = max(0.0, self._a.value)

        if bimpy.begin_combo('mode##linear_layer_init', self._select_mode):
            for item in self._mode_list:
                is_selected = bimpy.Bool(self._select_mode == item)

                if bimpy.selectable(item, is_selected) and not is_lock:
                    self._select_mode = item

                if is_selected.value:
                    bimpy.set_item_default_focus()
            bimpy.end_combo()

        if bimpy.begin_combo('nonlinearity##linear_layer_init',
                             self._select_nonlinearity):
            for item in self._nonlinearity_list:
                is_selected = bimpy.Bool(self._select_nonlinearity == item)

                if bimpy.selectable(item, is_selected) and not is_lock:
                    self._select_nonlinearity = item

                if is_selected.value:
                    bimpy.set_item_default_focus()
            bimpy.end_combo()

        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #4
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- MSE loss')
        bimpy.same_line()
        bimpy_tools.help_marker('torch.nn.MSELoss')

        bimpy.push_item_width(120)

        if bimpy.begin_combo('reduction##mse_loss_fn', self._select_redution):
            for item in self._reduction_list:
                is_selected = bimpy.Bool(self._select_redution == item)

                if bimpy.selectable(item, is_selected) and not is_lock:
                    self._select_redution = item

                if is_selected.value:
                    bimpy.set_item_default_focus()
            bimpy.end_combo()
        
        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #5
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- Adam')
        bimpy.same_line()
        bimpy_tools.help_marker('torch.optim.Adam')

        flags = bimpy.InputTextFlags.EnterReturnsTrue
        if is_lock:
            flags |= bimpy.InputTextFlags.ReadOnly

        bimpy.push_item_width(140)

        if bimpy.input_float('lr##adam_optimizer', self._lr, flags=flags):
            self._lr.value = max(0.0, self._lr.value)

        if bimpy.input_float2('momentum##adam_optimizer',
                              self._betas_first,
                              self._betas_second,
                              flags=flags):
            self._betas_first.value = max(0.0, self._betas_first.value)
            self._betas_second.value = max(0.0, self._betas_second.value)

        if bimpy.input_float('eps##adam_optimizer',
                             self._eps,
                             decimal_precision=8,
                             flags=flags):
            self._dampening.value = max(0.0, self._eps.value)

        if bimpy.input_float('weight_decay##adam_optimizer',
                             self._weight_decay,
                             flags=flags):
            self._weight_decay.value = max(0.0, self._weight_decay.value)

        bimpy.checkbox('amsgrad##adam_optimizer', self._amsgrad)

        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #6
0
    def render(self, is_lock):
        bimpy.indent(10)

        bimpy.text('- Raw Point')
        bimpy.same_line()
        bimpy_tools.help_marker('generate with raw points')

        bimpy.push_item_width(120)

        if bimpy.begin_combo('strategy##raw_point_generator',
                             self._select_strategy):
            for item in self._strategy_list:
                is_selected = bimpy.Bool(self._select_strategy == item)

                if bimpy.selectable(item, is_selected) and not is_lock:
                    self._select_strategy = item

                if is_selected.value:
                    bimpy.set_item_default_focus()
            bimpy.end_combo()

        bimpy.pop_item_width()
        bimpy.unindent(10)
예제 #7
0
파일: multilingual.py 프로젝트: torss/bimpy
while not ctx.should_close():
    with ctx:
        chinese = u"學而不思則罔,思而不學則殆。"
        japanese = u"二兎を追う者は一兎をも得ず。 "

        hiragana = u"あ い う え お か き く け こ さ し す せ そ が ぎ ぐ げ ご ぱ ぴ ぷ ぺ ぽ"
        katakana = u"ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ ガ ギ グ ゲ ゴ パ ピ プ ペ ポ"
        kanji = "川 月 木 心 火 左 北 今 名 美 見 外 成 空 明 静 海 雲 新 語 道 聞 強 飛"

        ukrainian = "Садок вишневий коло хати,\nХрущі над вишнями гудуть,\nПлугатарі з плугами йдуть,\nСпівають ідучи дівчата,\nА матері вечерять ждуть."
        polish = "Hej, tam gdzieś z nad czarnej wody\nWsiada na koń kozak młody.\nCzule żegna się z dziewczyną,\nJeszcze czulej z Ukrainą."
        russian = "Ночь, улица, фонарь, аптека,\nБессмысленный и тусклый свет.\nЖиви ещё хоть четверть века -\nВсё будет так. Исхода нет."

        bp.text('Chinese:')
        bp.indent()
        bp.text(chinese)
        bp.unindent()
        bp.text('Japanese:')
        bp.indent()
        bp.text(japanese)
        bp.bullet_text("hiragana: " + hiragana)
        bp.bullet_text("katakana: " + katakana)
        bp.bullet_text("kanji: " + kanji)
        bp.unindent()
        bp.separator()
        bp.text('Ukrainian:')
        bp.indent()
        bp.text(ukrainian)
        bp.unindent()
        bp.separator()