How to use hide_elements method in SeleniumBase

Best Python code snippet using SeleniumBase

settings_class.py

Source:settings_class.py Github

copy

Full Screen

...74 self.ui.par3_label.setToolTip(tooltip)75 self.ui.bool_check1.setVisible(True)76 self.ui.par2_label.setText("Nesterov")77 self.ui.par2_label.setToolTip("Применять ли импульс Нестерова")78 self.logic.hide_elements(self.ui, 3, bool_num=1)79 self.ui.par2.setVisible(False)80 self.resize(300, 230)81 self.ui.buttons.move(110, 180)8283 elif self.ui.list.currentText() == "RMSprop" or opt == "RMSprop":84 self.ui.par2_label.setText("Centered")85 tooltip = "Если True, градиент нормализован оченочным различием градиента."86 tooltip += "\nЕсли False, то нецентрированным вторым моментом"87 self.ui.par2_label.setToolTip(tooltip)88 self.ui.bool_check1.setVisible(True)89 self.ui.par3_label.setText("Momentum")90 tooltip = "Отвечает за накапливание градиентного спуска\nв необходимом направлении и гашение колебаний обучения"91 self.ui.par3_label.setToolTip(tooltip)92 self.ui.par4_label.setText("Rho")93 tooltip = "Понижающий фактор для истории градиента"94 self.ui.par4_label.setToolTip(tooltip)95 self.ui.par5_label.setText("Epsilon")96 tooltip = "Маленькая константа для числовой стабильности"97 self.ui.par5_label.setToolTip(tooltip)98 self.logic.hide_elements(self.ui, 5, bool_num=1)99 self.ui.par2.setVisible(False)100 self.resize(300, 300)101 self.ui.buttons.move(110, 260)102 103 elif self.ui.list.currentText() == "Adam" or opt == "Adam":104 self.ui.par2_label.setText("Amsgrad")105 tooltip = "Применять или нет AMSGrad вариант этого алгоритма оптимизации"106 self.ui.par2_label.setToolTip(tooltip)107 self.ui.bool_check1.setVisible(True)108 self.ui.par3_label.setText("Epsilon")109 tooltip = "Маленькая константа для числовой стабильности"110 self.ui.par3_label.setToolTip(tooltip)111 self.ui.par4_label.setText("Beta_1")112 tooltip = "Экспоненциональная ставка снижения для первого момента оценки"113 self.ui.par4_label.setToolTip(tooltip)114 self.ui.par5_label.setText("Beta_2")115 tooltip = "Экспоненциональная ставка снижения для второго момента оценки"116 self.ui.par5_label.setToolTip(tooltip)117 self.logic.hide_elements(self.ui, 5, bool_num=1)118 self.ui.par2.setVisible(False)119 self.resize(300, 300)120 self.ui.buttons.move(110, 260)121 122 elif self.ui.list.currentText() == "Adadelta" or opt == "Adadelta":123 self.ui.par2_label.setText("Rho")124 tooltip = "Понижающий фактор для истории градиента"125 self.ui.par2_label.setToolTip(tooltip)126 self.ui.par3_label.setText("Epsilon")127 tooltip = "Маленькая константа для числовой стабильности"128 self.ui.par3_label.setToolTip(tooltip)129 self.logic.hide_elements(self.ui, 3)130 self.resize(300, 230)131 self.ui.buttons.move(110, 180)132 133 elif self.ui.list.currentText() == "Nadam" or opt == "Nadam":134 self.ui.par2_label.setText("Epsilon")135 tooltip = "Маленькая константа для числовой стабильности"136 self.ui.par2_label.setToolTip(tooltip)137 self.ui.par3_label.setText("Beta_1")138 tooltip = "Экспоненциональная ставка снижения для первого момента оценки"139 self.ui.par3_label.setToolTip(tooltip)140 self.ui.par4_label.setText("Beta_2")141 tooltip = "Экспоненциональная ставка снижения для второго момента оценки"142 self.ui.par4_label.setToolTip(tooltip)143 self.logic.hide_elements(self.ui, 4)144 self.resize(300, 260)145 self.ui.buttons.move(110, 220)146 147 elif self.ui.list.currentText() == "Adagrad" or opt == "Adagrad":148 self.ui.par2_label.setText("Epsilon")149 tooltip = "Маленькая константа для числовой стабильности"150 self.ui.par2_label.setToolTip(tooltip)151 self.ui.par3_label.setText("Initial_accum_value")152 tooltip = "Начальное значение для аккумуляторов (препараметр значения momentum)"153 self.ui.par3_label.setToolTip(tooltip)154 self.logic.hide_elements(self.ui, 3)155 self.resize(300, 230)156 self.ui.buttons.move(110, 180)157 158 elif self.ui.list.currentText() == "Adamax" or opt == "Adamax":159 self.ui.par2_label.setText("Epsilon")160 tooltip = "Маленькая константа для числовой стабильности"161 self.ui.par2_label.setToolTip(tooltip)162 self.ui.par3_label.setText("Beta_1")163 tooltip = "Экспоненциональная ставка снижения для первого момента оценки"164 self.ui.par3_label.setToolTip(tooltip)165 self.ui.par4_label.setText("Beta_2")166 tooltip = "Экспоненциональная ставка снижения для второго момента оценки"167 self.ui.par4_label.setToolTip(tooltip)168 self.logic.hide_elements(self.ui, 4)169 self.resize(300, 260)170 self.ui.buttons.move(110, 220)171 172 elif self.ui.list.currentText() == "Ftrl" or opt == "Ftrl":173 self.ui.par2_label.setText("Initial_accum_value")174 tooltip = "Начальное значение для аккумуляторов (препараметр значения momentum)"175 self.ui.par2_label.setToolTip(tooltip)176 self.ui.par3_label.setText("L1_regul_strength")177 tooltip = "Должно быть меньше или равно 0"178 self.ui.par3_label.setToolTip(tooltip)179 self.ui.par4_label.setText("L2_regul_strength")180 self.ui.par4_label.setToolTip(tooltip)181 self.ui.par4.setVisible(True)182 self.ui.par5_label.setText("L2_shrinkage")183 tooltip = "Отличается от L2 выше тем, что то стабилизационные штрафы,"184 tooltip += "\nа shrinkage штрафы магнитуды."185 tooltip += "\nКогда входные данные разреженные, усадка будет только на активных весах"186 self.ui.par5_label.setToolTip(tooltip)187 self.ui.par5.setVisible(True)188 self.ui.par6_label.setText("Beta")189 tooltip = "Представляет beta-значение из оригинальной работы"190 self.ui.par6_label.setToolTip(tooltip)191 self.ui.par6.setVisible(True)192 self.ui.par7_label.setText("Lr_power")193 tooltip = "Контролирует, как обучающая ставка снижается при обучении."194 tooltip += "\nДолжно быть меньше или равно 0"195 self.ui.par7_label.setToolTip(tooltip)196 self.ui.par7.setVisible(True)197 self.logic.hide_elements(self.ui, 7)198 self.resize(300, 380)199 self.ui.buttons.move(110, 340)200201 def choice_losses(self, loss=None):202 self.ui.par1_label.setText("Reduction")203 tooltip = "Параметр, характеризующий использования опции понижения"204 self.ui.par1_label.setToolTip(tooltip)205 if (self.ui.list.currentText() == "BinaryCrossentropy" or loss == "BinaryCrossentropy") or (206 self.ui.list.currentText() == "CategoricalCrossentropy" or loss == "CategoricalCrossentropy"):207 self.ui.par2_label.setText("From logits")208 self.ui.par3_label.setText("Label smoothing")209 self.logic.hide_elements(self.ui, 3, bool_num=1)210 self.ui.par2.setVisible(False)211 self.resize(300, 230)212 self.ui.buttons.move(110, 180)213214 elif (self.ui.list.currentText() == "SparseCategorical") or (loss == "SparseCategorical"):215 self.ui.par2_label.setText("From logits")216 self.logic.hide_elements(self.ui, 2, bool_num=1)217 self.ui.par2.setVisible(False)218 self.resize(300, 230)219 self.ui.buttons.move(110, 180)220221 elif (self.ui.list.currentText() == "Huber") or (loss == "Huber"):222 self.ui.par2_label.setText("Delta")223 self.ui.par2_label.setToolTip("Значения точки, где функция меняется с квадратической на линейную")224 self.logic.hide_elements(self.ui, 2)225 self.resize(300, 230)226 self.ui.buttons.move(110, 180)227228 elif (self.ui.list.currentText() == "Poisson" or loss == "Poison") or (229 self.ui.list.currentText() == "MSE" or loss == "MSE") or (230 self.ui.list.currentText() == "MAE" or loss == "MAE") or (231 self.ui.list.currentText() == "MAEPercentage" or loss == "MAEPercentage") or (232 self.ui.list.currentText() == "MSEPLogarithmic" or loss == "MSEPLogarithmic") or (233 self.ui.list.currentText() == "Hinge" or loss == "Hinge") or (234 self.ui.list.currentText() == "SquaredHinge" or loss == "SquaredHinge") or (235 self.ui.list.currentText() == "CategoricalHinge" or loss == "CategoricalHinge") or (236 self.ui.list.currentText() == "LogCosh" or loss == "LogCosh") or (237 self.ui.list.currentText() == "KLDivergence" or loss == "KLDivergence"):238 self.logic.hide_elements(self.ui, 1)239 self.resize(300, 230)240 self.ui.buttons.move(110, 180)241242 elif self.ui.list.currentText() == "CosineSimilarity" or loss == "CosineSimilarity":243 self.ui.par2_label.setText("Axis")244 tooltip = "Ось, вдоль которой данная функция потерь вычисляется (ось признаков)"245 self.ui.par2_label.setToolTip(tooltip)246 self.logic.hide_elements(self.ui, 2)247 self.resize(300, 230)248 self.ui.buttons.move(110, 180)249 250 def choice_metrics(self, metric=None):251 self.ui.par1_label.setText("Dtype")252 self.ui.par1_label.setToolTip("Тип данных для результатов метрики")253 if (self.ui.list.currentText() == "Accuracy" or metric == "Accuracy") or (254 self.ui.list.currentText() == "CategoricalAccuracy" or metric == "CategoricalAccuracy") or (255 self.ui.list.currentText() == "SparseCategorical" or metric == "SparseCategorical") or (256 self.ui.list.currentText() == "Hinge" or metric == "Hinge") or (257 self.ui.list.currentText() == "SquaredHinge" or metric == "SquaredHinge") or (258 self.ui.list.currentText() == "CategoricalHinge" or metric == "CategoricalHinge") or (259 self.ui.list.currentText() == "KLDivergence" or metric == "KLDivergence") or (260 self.ui.list.currentText() == "Poisson" or metric == "Poisson") or (261 self.ui.list.currentText() == "MSE" or metric == "MSE") or (262 self.ui.list.currentText() == "RootMSE" or metric == "RootMSE") or (263 self.ui.list.currentText() == "MAE" or metric == "MAE") or (264 self.ui.list.currentText() == "MAEPercentage" or metric == "MAEPercentage") or (265 self.ui.list.currentText() == "MSELogarithmic" or metric == "MSELogarithmic") or (266 self.ui.list.currentText() == "LogCoshError" or metric == "LogCoshError"):267 self.logic.hide_elements(self.ui, 1)268 self.resize(300, 230)269 self.ui.buttons.move(110, 180)270271 elif (self.ui.list.currentText() == "TopKCategorical" or metric == "TopKCategorical") or (272 self.ui.list.currentText() == "SparseTopKCategorical" or metric == "SparseTopKCategorical"):273 self.ui.par2_label.setText("K")274 self.ui.par2_label.setToolTip("Число верхних элементов для расчёта метрики")275 self.logic.hide_elements(self.ui, 2)276 self.resize(300, 230)277 self.ui.buttons.move(110, 180)278279 elif (self.ui.list.currentText() == "BinaryAccuracy" or metric == "BinaryAccuracy"):280 self.ui.par2_label.setText("Threshold")281 self.ui.par2_label.setToolTip("Порог для решения, 1 ли предсказание или 0")282 self.logic.hide_elements(self.ui, 2)283 self.resize(300, 230)284 self.ui.buttons.move(110, 180)285286 elif self.ui.list.currentText() == "AUC" or metric == "AUC":287 self.ui.par2_label.setText("Multi_label")288 tooltip = "Нужно ли считать с многими классами меток.\n"289 tooltip += "Тогда метрика считается отдельно для каждого класса и усредняется.\n"290 tooltip += "Инчае метки классов делаются плоскими перед расчётами метрик\n"291 self.ui.par2_label.setToolTip(tooltip)292 self.ui.par3_label.setText("From logits")293 self.ui.par3_label.setToolTip("Будут ли предсказания вероятностями или значениями сигмоиды")294 self.ui.par4_label.setText("Num thresholds")295 self.ui.par4_label.setToolTip("Число порогов, использующеяся когда дискретизируется кривая метрики")296 self.ui.par5_label.setText("Curve")297 self.ui.par5_label.setToolTip("Имя кривой для расчёта метрики")298 self.ui.par6_label.setText("Summation method")299 tooltip = "Описывает метод Riemann summation.\n"300 tooltip += "В зависимости от введённого значения, изменяются способ суммации"301 self.ui.par6_label.setToolTip(tooltip)302 self.ui.par7_label.setText("Thresholds")303 tooltip = "писок значений, использующихся как порог для дискретизации кривой\n"304 tooltip += "Если установлено, то параметр Num thresholds игнорируется"305 self.ui.par7_label.setToolTip(tooltip)306 self.ui.par8_label.setText("Labels weights") 307 tooltip = "Список, массив или тензор неотрицательных весов для рассчёта метрики для многоклассовых данных\n"308 tooltip = "Введите значения через запятую"309 self.ui.par8_label.setToolTip(tooltip)310 self.logic.hide_elements(self.ui, 8, bool_num=2)311 self.ui.par2.setVisible(False)312 self.ui.par3.setVisible(False)313 self.resize(300, 420)314 self.ui.buttons.move(110, 380)315316 elif (self.ui.list.currentText() == "Precision" or metric == "Precision") or (317 self.ui.list.currentText() == "Recall" or metric == "Recall"):318 self.ui.par2_label.setText("Thresholds")319 self.ui.par2_label.setToolTip("Порог для решения, 1 ли предсказание или 0")320 self.ui.par3_label.setText("Top K")321 self.ui.par3_label.setToolTip("Количество верхних предсказаний для предположения о необходимости рассчёта метрики")322 self.ui.par4_label.setText("Class ID")323 self.ui.par4_label.setToolTip("Целочисленное ID для которого нужны бинарные метрики")324 self.logic.hide_elements(self.ui, 4)325 self.resize(300, 260)326 self.ui.buttons.move(110, 220)327328 elif (self.ui.list.currentText() == "TruePositives" or metric == "TruePositives") or (329 self.ui.list.currentText() == "TrueNegatives" or metric == "TrueNegatives") or (330 self.ui.list.currentText() == "FalsePositives" or metric == "FalsePositives") or (331 self.ui.list.currentText() == "FalseNegatives" or metric == "FalseNegatives"):332 self.ui.par2_label.setText("Thresholds")333 self.ui.par2_label.setToolTip("Порог для решения, 1 ли предсказание или 0")334 self.logic.hide_elements(self.ui, 2)335 self.resize(300, 230)336 self.ui.buttons.move(110, 180)337 338 elif (self.ui.list.currentText() == "PrecisionAtRecall" or metric == "PrecisionAtRecall"):339 self.ui.par2_label.setText("Recall")340 self.ui.par2_label.setToolTip("Скалярное значение от 0 до 1")341 self.ui.par3_label.setText("Num thresholds")342 self.ui.par3_label.setToolTip("Количество пороговых значений для рассчёта метрики")343 self.logic.hide_elements(self.ui, 3)344 self.resize(300, 230)345 self.ui.buttons.move(110, 180)346347 elif (self.ui.list.currentText() == "SensitivityAtSpecificity" or metric == "SensitivityAtSpecificity"):348 self.ui.par2_label.setText("Specificity")349 self.ui.par2_label.setToolTip("Скалярное значение от 0 до 1")350 self.ui.par3_label.setText("Num thresholds")351 self.ui.par3_label.setToolTip("Количество пороговых значений для рассчёта метрики")352 self.logic.hide_elements(self.ui, 3)353 self.resize(300, 230)354 self.ui.buttons.move(110, 180)355356 elif (self.ui.list.currentText() == "SpecificityAtSensitivity" or metric == "SpecificityAtSensitivity"):357 self.ui.par2_label.setText("Sensitivity")358 self.ui.par2_label.setToolTip("Скалярное значение от 0 до 1")359 self.ui.par3_label.setText("Num thresholds")360 self.ui.par3_label.setToolTip("Количество пороговых значений для рассчёта метрики")361 self.logic.hide_elements(self.ui, 3)362 self.resize(300, 230)363 self.ui.buttons.move(110, 180)364365 elif (self.ui.list.currentText() == "MeanIoU" or metric == "MeanIou"):366 self.ui.par2_label.setText("Num classes")367 self.ui.par2_label.setToolTip("Возможное число классов для классификации")368 self.logic.hide_elements(self.ui, 2)369 self.resize(300, 230)370 self.ui.buttons.move(110, 180)371372 elif (self.ui.list.currentText() == "BinaryCrossentropy" or metric == "BinaryCrossentropy") or (373 self.ui.list.currentText() == "CategoricalCrossentropy" or metric == "CategoricalCrossentropy"):374 self.ui.par2_label.setText("From logits")375 self.ui.par2_label.setToolTip("Будет ли выходные данные логическим тензором")376 self.ui.par3_label.setText("Label smoothing")377 self.ui.par3_label.setToolTip("Значение, выражающее сглаживание предсказываемых меток")378 self.logic.hide_elements(self.ui, 3, bool_num=1)379 self.ui.par2.setVisible(False)380 self.resize(300, 230)381 self.ui.buttons.move(110, 180)382383 elif (self.ui.list.currentText() == "SparseCategorical" or metric == "SparseCategorical"):384 self.ui.par2_label.setText("From logits")385 self.ui.par2_label.setToolTip("Будет ли выходные данные логическим тензором")386 self.ui.par3_label.setText("Axis")387 self.ui.par3_label.setToolTip("Ось, вдоль которой метрика высчитывается")388 self.logic.hide_elements(self.ui, 3, bool_num=1)389 self.ui.par2.setVisible(False)390 self.resize(300, 230)391 self.ui.buttons.move(110, 180)392393 elif (self.ui.list.currentText() == "CosineSimilarity" or metric == "CosineSimilarity"):394 self.ui.par2_label.setText("Axis")395 self.ui.par2_label.setToolTip("Ось, вдоль которой метрика высчитывается")396 self.logic.hide_elements(self.ui, 2)397 self.resize(300, 230)398 self.ui.buttons.move(110, 180) 399400 def choice_callbacks(self, callback=None):401 if self.ui.list.currentText() == "BackupAndRestore" or callback == "BackupAndRestore":402 self.ui.par1_label.setText("BackupDir")403 tooltip = "Путь к папке, где сохраняются файлы для восстановления модели\nпри неожиданном завершении обучения"404 self.ui.par1_label.setToolTip(tooltip)405 self.logic.hide_elements(self.ui, 1)406 self.resize(300, 230)407 self.ui.buttons.move(110, 180)408409 elif self.ui.list.currentText() == "CSVLogger" or callback == "CSVLogger":410 self.ui.par1_label.setText("Filename")411 self.ui.par1_label.setToolTip("Путь к CSV-файлу")412 self.ui.par2_label.setText("Append")413 tooltip = "Добавлять записи в файл или переписать его заново"414 self.ui.par2_label.setToolTip(tooltip)415 self.ui.par3_label.setText("Separator")416 self.ui.par3_label.setToolTip("Разделитель для записей в файле")417 self.logic.hide_elements(self.ui, 3, bool_num=1)418 self.ui.par2.setVisible(False)419 self.resize(300, 230)420 self.ui.buttons.move(110, 180)421422 elif self.ui.list.currentText() == "EarlyStopping" or callback == "EarlyStopping":423 self.ui.par1_label.setText("Monitor")424 self.ui.par1_label.setToolTip("Количество записей для мониторинга")425 self.ui.par2_label.setText("Restore_best_weight")426 tooltip = "Хранить ли веса модели с лучшим значением обучения\n"427 tooltip += "Если False, то веса будут сохраняться вне зависимости от значения baseline\n"428 tooltip += "Тогда если нет улучшений в baseline-эпохах\n"429 tooltip += "обучение будет илти patience-эпох и сохраняться веса лучшей эпохи в данном наборе"430 self.ui.par2_label.setToolTip(tooltip)431 self.ui.par3_label.setText("Min_delta")432 tooltip = "Минимальное значение качества обучения, принимаемое как улучшение"433 self.ui.par3_label.setToolTip(tooltip)434 self.ui.par4_label.setText("Patience")435 tooltip = "Количество эпох без улучшения, после чего обучение остановится"436 self.ui.par4_label.setToolTip(tooltip)437 self.ui.par5_label.setText("Verbose")438 self.ui.par5_label.setToolTip("Режим повторений")439 self.ui.par6_label.setText("Mode")440 tooltip = "Один из {auto, min, max}. Если min, то обучение остановится когда потери перестануть падать\n"441 tooltip += "Если max, то обучение остановится когда точность перестнет расти\n"442 tooltip += "Если auto, направление изменений определяется само исходя из значения monitor"443 self.ui.par6_label.setToolTip(tooltip)444 self.ui.par7_label.setText("Baseline")445 self.ui.par7_label.setToolTip("Основное значение для отслеживаемого параметра качества обучения")446 self.logic.hide_elements(self.ui, 7, bool_num=1)447 self.ui.par2.setVisible(False)448 self.resize(300, 380)449 self.ui.buttons.move(110, 340)450 451 elif self.ui.list.currentText() == "LambdaCallback" or callback == "LambdaCallback":452 self.ui.par1_label.setText("OnEpochBegin")453 self.ui.par1_label.setToolTip("Анономная функция, вызываемая в начале эпохи\nНапишите её здесь")454 self.ui.par2_label.setText("OnEpochEnd")455 self.ui.par2_label.setToolTip("Анономная функция, вызываемая в конце эпохи\nНапишите её здесь")456 self.ui.par3_label.setText("OnBatchBegin")457 self.ui.par3_label.setToolTip("Анономная функция, вызываемая перед обработкой пакет\nНапишите её здесьа")458 self.ui.par4_label.setText("OnBatchEnd")459 self.ui.par4_label.setToolTip("Анономная функция, вызываемая в конце обработки пакета\nНапишите её здесь")460 self.ui.par5_label.setText("OnTrainBegin")461 self.ui.par5_label.setToolTip("Анономная функция, вызываемая в начале обучения\nНапишите её здесь")462 self.ui.par6_label.setText("OnTrainEnd")463 self.ui.par6_label.setToolTip("Анономная функция, вызываемая в конце обучения\nНапишите её здесь")464 self.logic.hide_elements(self.ui, 6)465 self.resize(300, 340)466 self.ui.buttons.move(110, 300) 467 468 elif self.ui.list.currentText() == "LearningRateSchedular" or callback == "LearningRateSchedular":469 self.ui.par1_label.setText("Schedule")470 self.ui.par1_label.setToolTip("Функция, меняющая скорость обучения")471 self.ui.par2_label.setText("Verbose")472 self.ui.par2_label.setToolTip("int. 0: quiet, 1: update messages.")473 self.logic.hide_elements(self.ui, 2, fun_number=True)474 self.ui.par1.setVisible(False)475 self.resize(300, 230)476 self.ui.buttons.move(110, 180)477 self.ui.fun_button.clicked.connect(lambda: self.logic.choice_fun_file(478 obj=self))479 480 elif self.ui.list.currentText() == "ModelCheckpoint" or callback == "ModelCheckpoint":481 self.ui.par1_label.setText("Filepath")482 self.ui.par1_label.setToolTip("Путь к файлу сохраняемой модели")483 self.ui.par2_label.setText("Save_best_only")484 self.ui.par2_label.setToolTip("Сохранять или нет лучшую модель")485 self.ui.par3_label.setText("Save_weights_only")486 self.ui.par3_label.setToolTip("Сохранять полную модель или только веса")487 self.ui.par4_label.setText("Monitor")488 self.ui.par4_label.setToolTip("Название параметра, по которому отслеживается качество обучения")489 self.ui.par5_label.setText("Verbose")490 self.ui.par5_label.setToolTip("Режим повторений")491 self.ui.par6_label.setText("Mode")492 tooltip = "Один из {auto, min, max}. Если min, то файл результата перепишется когда потери перестануть падать\n"493 tooltip += "Если max, то файл результата перепишется когда точность перестнет расти\n"494 tooltip += "Если auto, направление изменений определяется само исходя из значения monitor"495 self.ui.par6_label.setToolTip(tooltip)496 self.ui.par7_label.setText("Save_freq")497 tooltip = "Если epoch, то модель сохраняется после каждой эпохи\n"498 tooltip += "Если число, то модель сохраняется после заданного количества эпох"499 self.ui.par7_label.setToolTip(tooltip)500 self.logic.hide_elements(self.ui, 7, bool_num=2)501 self.ui.par2.setVisible(False)502 self.ui.par3.setVisible(False)503 self.resize(300, 380)504 self.ui.buttons.move(110, 340)505 506 elif self.ui.list.currentText() == "ProgbarLogger" or callback == "ProgbarLogger":507 self.ui.par1_label.setText("Count_mode")508 self.ui.par1_label.setToolTip("Следует считать увиденные примеры или шаги\пакеты")509 self.ui.par2_label.setText("Stateful_metrics")510 tooltip = "Список метрик, что не должны быть усреднены\n"511 tooltip += "Введите список метрик через запятую"512 self.ui.par2_label.setToolTip(tooltip)513 self.logic.hide_elements(self.ui, 2)514 self.resize(300, 230)515 self.ui.buttons.move(110, 180)516 517 elif self.ui.list.currentText() == "ReduceLROnPlateau" or callback == "ReduceLROnPlateau":518 self.ui.par1_label.setText("Monitor")519 self.ui.par1_label.setToolTip("Количество записей для мониторинга")520 self.ui.par2_label.setText("Factor")521 self.ui.par2_label.setToolTip("Фактор, на основе которого скорость обучения уменьшается")522 self.ui.par3_label.setText("Patience")523 tooltip = "Количество эпох без улучшения, после чего обучение остановится"524 self.ui.par3_label.setToolTip(tooltip)525 self.ui.par4_label.setText("Verbose")526 self.ui.par4_label.setToolTip("Режим повторений")527 self.ui.par5_label.setText("Mode")528 tooltip = "Один из {auto, min, max}. Если min, то скорость обучения уменьшится когда потери перестануть падать\n"529 tooltip += "Если max, то скорость обучения уменьшится когда точность перестнет расти\n"530 tooltip += "Если auto, направление изменений определяется само исходя из значения monitor"531 self.ui.par5_label.setToolTip(tooltip)532 self.ui.par6_label.setText("Min_delta")533 self.ui.par6_label.setToolTip("Порог для отслеживания оптимума модели")534 self.ui.par7_label.setText("Cooldown")535 self.ui.par7_label.setToolTip("Количество эпох, после которых скорость обучения будет снижаться")536 self.ui.par8_label.setText("Min_lr")537 self.ui.par8_label.setToolTip("Минимальный допустимый порог скорости обучения")538 self.logic.hide_elements(self.ui, 8)539 self.resize(300, 420)540 self.ui.buttons.move(110, 380)541 542 elif self.ui.list.currentText() == "RemoteMonitor" or callback == "RemoteMonitor":543 self.ui.par1_label.setText("Root")544 self.ui.par1_label.setToolTip("Ссылка на удаленный сервер")545 self.ui.par2_label.setText("Send_as_JSON")546 self.ui.par2_label.setToolTip("Отправлять или нет запрос как application/json")547 self.ui.par3_label.setText("Path")548 tooltip = "Путь относительно сервера, куда будут отправляться файлы"549 self.ui.par3_label.setToolTip(tooltip)550 self.ui.par4_label.setText("Field")551 self.ui.par4_label.setToolTip("JSON-поле, под которым данные будут хранится")552 self.ui.par5_label.setText("Headers")553 self.ui.par5_label.setToolTip("Опционально настраиваемые HTTP-заголовки\nВведите словарь Python текстом")554 self.logic.hide_elements(self.ui, 5, bool_num=1)555 self.ui.par2.setVisible(False)556 self.resize(300, 300)557 self.ui.buttons.move(110, 260)558 559 elif self.ui.list.currentText() == "TensorBoard" or callback == "TensorBoard":560 self.ui.par1_label.setText("Log_dir")561 self.ui.par1_label.setToolTip("Путь к папке, куда будут сохраняться логи")562 self.ui.par2_label.setText("Write_graph")563 self.ui.par2_label.setToolTip("Визуализировать ли графики на TensorBoard")564 self.ui.par3_label.setText("Write_images")565 self.ui.par3_label.setToolTip("Визуализировать ли изображения весов в TensorBoard")566 self.ui.par4_label.setText("Write_steps\n_per_epoch")567 self.ui.par4_label.setToolTip("Записывать ли в логи значения на каждом шаге")568 self.ui.par5_label.setText("Histogram_freg")569 self.ui.par5_label.setToolTip("Частота, с которой вычисляются веса для гистограммы")570 self.ui.par6_label.setText("Update_freq")571 tooltip = "Если batch\epoch, то потери и метрики записываются после каждой эпохи\n"572 tooltip += "Если число, то после заданного числа обработанных пакетов"573 self.ui.par6_label.setToolTip(tooltip)574 self.ui.par7_label.setText("Profile_batch")575 self.ui.par7_label.setToolTip("Профиль пакетов для расчета характеристик")576 self.ui.par8_label.setText("Embeddings_freqs")577 self.ui.par8_label.setToolTip("Частота, с которой embeddings-слои будут визуализироваться")578 self.ui.par9_label.setText("Embeddings_metadata")579 tooltip = "Словарь, где указаны имена embeddings-слоев и путь к файлу для сохранения метаданных слоя\n"580 tooltip += "Введите словарь Python текстом"581 self.ui.par9_label.setToolTip(tooltip)582 self.logic.hide_elements(self.ui, 9, bool_num=3)583 self.ui.par2.setVisible(False)584 self.ui.par3.setVisible(False)585 self.ui.par4.setVisible(False)586 self.resize(300, 460)587 self.ui.buttons.move(110, 420)588589 elif self.ui.list.currentText() == "TerminateOnNaN" or callback == "TerminateOnNaN":590 self.logic.hide_elements(self.ui, 1)591 self.ui.par1.setVisible(False)592 self.ui.par1_label.setVisible(False)593 self.resize(300, 230)594 self.ui.buttons.move(110, 180)595 596 def choice_nets(self, net=None):597 self.ui.par1_label.setText("Weights")598 self.ui.par1_label.setToolTip("Выбор используемых весов модели")599 self.ui.par2_label.setText("Include_top")600 self.ui.par2_label.setToolTip("Включать или нет полносвязный классификатор")601 self.ui.par3_label.setText("Input_tensor")602 self.ui.par3_label.setToolTip("Входной тензор модели")603 self.ui.par4_label.setText("Input_shape")604 self.ui.par4_label.setToolTip("Форма входных данных")605 self.ui.par5_label.setText("Pooling")606 tooltip = "Способ извлечения признаков, когда include_top установлен в false"607 self.ui.par5_label.setToolTip(tooltip)608 self.ui.par6_label.setText("Classes")609 self.ui.par6_label.setToolTip("Число классов модели")610 self.ui.par7_label.setText("Activation")611 self.ui.par7_label.setToolTip("Функция активации последнего слоя классификатора")612 if self.ui.list.currentText() == "Xception" or net == "Xception" or (613 self.ui.list.currentText() == "InceptionResNetV2" or net == "InceptionResNetV2") or (614 self.ui.list.currentText() == "InceptionV3" or net == "InceptionV3") or (615 self.ui.list.currentText() == "ResNet50" or net == "ResNet50") or (616 self.ui.list.currentText() == "ResNet101" or net == "ResNet101") or (617 self.ui.list.currentText() == "ResNet152" or net == "ResNet152") or (618 self.ui.list.currentText() == "ResNet50V2" or net == "ResNet50V2") or (619 self.ui.list.currentText() == "VGG16" or net == "VGG16") or (620 self.ui.list.currentText() == "VGG19" or net == "VGG19"):621 self.logic.hide_elements(self.ui, 7, bool_num=1)622 self.resize(300, 380)623 self.ui.buttons.move(110, 340)624 625 elif self.ui.list.currentText() == "MobileNet" or net == "MobileNet":626 self.ui.par8_label.setText("Alpha")627 self.ui.par8_label.setToolTip("Параметр контроля ширины слоёв модели")628 self.ui.par9_label.setText("Depth_multiplier")629 self.ui.par9_label.setToolTip("Глубина свёртки по глубине")630 self.ui.par10_label.setText("Dropout")631 self.ui.par10_label.setToolTip("Степень применения размыкания")632 self.logic.hide_elements(self.ui, 10, bool_num=1)633 self.resize(300, 500)634 self.ui.buttons.move(110, 460)635 636 elif self.ui.list.currentText() == "MobileNetV2" or net == "MobileNetV2":637 self.ui.par8_label.setText("Alpha")638 self.ui.par8_label.setToolTip("Параметр контроля ширины слоёв модели")639 self.logic.hide_elements(self.ui, 8, bool_num=1)640 self.resize(300, 420)641 self.ui.buttons.move(110, 380)642 643 elif self.ui.list.currentText() == "DenseNet121" or net == "DenseNet121" or (644 self.ui.list.currentText() == "DenseNet169" or net == "DenseNet169") or (645 self.ui.list.currentText() == "DenseNet201" or net == "DenseNet201"):646 self.logic.hide_elements(self.ui, 5, bool_num=1)647 self.resize(300, 300)648 self.ui.buttons.move(110, 260)649 self.ui.par2.setVisible(False)650 651 def choice_check_metric(self, check_metric=None): 652 self.ui.par1_label.setText("Sample weight")653 self.ui.par1_label.setToolTip("Веса примеров в форме массива")654 if self.ui.list.currentText() == "F1" or check_metric == "F1" or (655 self.ui.list.currentText() == "Precision" or check_metric == "Precision") or (656 self.ui.list.currentText() == "Recall" or check_metric == "Recall") or (657 self.ui.list.currentText() == "Jaccard" or check_metric == "Jaccard"):658 self.ui.par2_label.setText("Labels")659 self.ui.par2_label.setToolTip("Набор меток, если average != 'binary', или их порядок при average None")660 self.ui.par3_label.setText("Pos_label")661 self.ui.par4_label.setToolTip("Отчетный класс, если average 'binary', иначе параметр игнорируется")662 self.ui.par5_label.setText("Average")663 tooltip = "Если None, то оценки считаются для каждого класса\n"664 tooltip += "Иначе параметр определяет тип усреднения данных"665 self.ui.par4_label.setToolTip(tooltip)666 self.ui.par5_label.setText("Zero_division")667 tooltip = "Набор значений, возвращаемых когда все предсказания и метки негативные\n"668 tooltip += "(Есть деление на 0)"669 self.ui.par5_label.setToolTip(tooltip)670 self.logic.hide_elements(self.ui, 5)671 self.resize(300, 300)672 self.ui.buttons.move(110, 260)673 674 elif self.ui.list.currentText() == "Accuracy" or check_metric == "Accuracy":675 self.ui.par2_label.setText("Normalize")676 tooltip = "Возвращать ли функцию от числа или число правильно классифицированных меток"677 self.ui.par2_label.setToolTip(tooltip)678 self.logic.hide_elements(self.ui, 2)679 self.ui.par2.setVisible(False)680 self.ui.bool_check1.setVisible(True)681 self.resize(300, 230)682 self.ui.buttons.move(110, 180)683 684 elif self.ui.list.currentText() == "Balanced_accuracy" or check_metric == "Balanced_accuracy":685 self.ui.par2_label.setText("Adjusted")686 tooltip = "Настравивать или нет результат на рандомное представление как 0 и совершенное как 1"687 self.ui.par2_label.setToolTip(tooltip)688 self.logic.hide_elements(self.ui, 2)689 self.ui.par2.setVisible(False)690 self.ui.bool_check1.setVisible(True)691 self.resize(300, 230)692 self.ui.buttons.move(110, 180)693 694 elif self.ui.list.currentText() == "Top_K_accuracy" or check_metric == "Top_K_accuracy":695 self.ui.par2_label.setText("Normalize")696 tooltip = "Возвращать ли функцию от числа или число правильно классифицированных меток"697 self.ui.par2_label.setToolTip(tooltip)698 self.ui.par3_label.setText("K")699 self.ui.par3_label.setToolTip("Число исходов для нахождения корректной метки")700 self.ui.par4_label.setText("Labels")701 self.ui.par4_label.setToolTip("Список меток что определяют классы предсказаний")702 self.logic.hide_elements(self.ui, 4)703 self.ui.par2.setVisible(False)704 self.ui.bool_check1.setVisible(True)705 self.resize(300, 260)706 self.ui.buttons.move(110, 220)707 708 elif self.ui.list.currentText() == "Average_precision" or check_metric == "Average_precision":709 self.ui.par2_label.setText("Pos_label")710 self.ui.par2_label.setToolTip("Метка положительного класса для бинарной классификации")711 self.ui.par3_label.setText("Average")712 tooltip = "Если None, то оценки считаются для каждого класса\n"713 tooltip += "Иначе параметр определяет тип усреднения данных"714 self.ui.par3_label.setToolTip(tooltip)715 self.logic.hide_elements(self.ui, 3)716 self.resize(300, 230)717 self.ui.buttons.move(110, 180)718 719 elif self.ui.list.currentText() == "Neg_brief" or check_metric == "Neg_brief":720 self.ui.par2_label.setText("Pos_label")721 self.ui.par2_label.setToolTip("Метка положительного класса для бинарной классификации")722 self.logic.hide_elements(self.ui, 2)723 self.resize(300, 230)724 self.ui.buttons.move(110, 180)725726 elif self.ui.list.currentText() == "Neg_log" or check_metric == "Neg_log":727 self.ui.par2_label.setText("Normalize")728 self.ui.par2_label.setToolTip("Возвращать ли средние потери на экземпляр или сумму потерь")729 self.ui.par3_label.setText("Eps")730 tooltip = "Потери определеённые для р=0 и р=1, так что вероятности стремятся к максимуму"731 self.ui.par3_label.setToolTip(tooltip)732 self.ui.par4_label.setText("Labels")733 self.ui.par4_label.setToolTip("Список меток что определяют классы предсказаний")734 self.logic.hide_elements(self.ui, 4)735 self.ui.par2.setVisible(False)736 self.ui.bool_check1.setVisible(True)737 self.resize(300, 260)738 self.ui.buttons.move(110, 220)739740 elif self.ui.list.currentText() == "ROC_AUC" or check_metric == "ROC_AUC":741 self.ui.par2_label.setText("Average")742 tooltip = "Если None, то оценки считаются для каждого класса\n"743 tooltip += "Иначе параметр определяет тип усреднения данных"744 self.ui.par2_label.setToolTip(tooltip)745 self.ui.par3_label.setText("Max_fpr")746 tooltip = "Определяет величину возвращаемого стандартизированного частичного AUC в диапазоне от 0 до max_fpr"747 self.ui.par3_label.setToolTip(tooltip)748 self.ui.par4_label.setText("Multiclass")749 self.ui.par4_label.setToolTip("Тип метрики для многоклассовой классификации")750 self.ui.par5_label.setText("Labels")751 self.ui.par5_label.setToolTip("Список меток что определяют классы предсказаний")752 self.logic.hide_elements(self.ui, 5)753 self.resize(300, 300)754 self.ui.buttons.move(110, 260)755 756 def between_wins(self):757 #набор считанных значений параметров758 settings = (self.ui.par1.text(), self.ui.par2.text(),759 self.ui.par3.text(), self.ui.par4.text(),760 self.ui.par5.text(), self.ui.par6.text(),761 self.ui.par7.text(), self.ui.par8.text(), self.ui.par9.text())762763 #набор всех логических параметров764 bools = (self.ui.bool_check1.isChecked(), self.ui.bool_check2.isChecked(),765 self.ui.bool_check3.isChecked())766 ...

Full Screen

Full Screen

thumbnail.py

Source:thumbnail.py Github

copy

Full Screen

...45 final_page_height = page_height46 else:47 break48 if isinstance(driver, webdriver.Ie):49 self.hide_elements(driver, elements)50 required_width = driver.execute_script('return document.body.parentNode.scrollWidth')51 driver.set_window_size(required_width, final_page_height)52 driver.save_screenshot(image_name)53 driver.set_window_size(original_size['width'], original_size['height'])54 return image_name55 else:56 driver.set_window_size(600, 600)57 total_width = driver.execute_script("return document.body.offsetWidth")58 total_height = driver.execute_script("return document.body.parentNode.scrollHeight")59 viewport_width = driver.execute_script("return document.body.clientWidth")60 viewport_height = driver.execute_script("return window.innerHeight")61 print(total_width, total_height, viewport_width, viewport_height)62 driver.execute_script("window.scrollTo(0, 0)")63 time.sleep(2)64 rectangles = []65 self.hide_elements(driver, elements)66 i = 067 while i < total_height:68 ii = 069 top_height = i + viewport_height70 if top_height > total_height:71 top_height = total_height72 while ii < total_width:73 top_width = ii + viewport_width74 if top_width > total_width:75 top_width = total_width76 rectangles.append((ii, i, top_width, top_height))77 ii = ii + viewport_width78 i = i + viewport_height79 stitched_image = Image.new('RGB', (total_width, total_height))80 previous = None81 part = 082 for rectangle in rectangles:83 if not previous is None:84 driver.execute_script("window.scrollTo({0}, {1})".format(rectangle[0], rectangle[1]))85 time.sleep(3)86 file_name = "part_{0}.png".format(part)87 driver.get_screenshot_as_file(file_name)88 screenshot = Image.open(file_name)89 if rectangle[1] + viewport_height > total_height:90 offset = (rectangle[0], total_height - viewport_height)91 else:92 offset = (rectangle[0], rectangle[1])93 stitched_image.paste(screenshot, offset)94 del screenshot95 os.remove(file_name)96 part = part + 197 previous = rectangle98 save_path = os.path.abspath(os.path.join(save_path, image_name))99 stitched_image.save(save_path)100 return save_path101 def get_element(self, driver: WebDriver, element: WebElement, save_location: str, to_hide: list = None) -> str:102 """103 Usage:104 Capture Element screenshot as a image105 Args:106 driver: Web driver instance107 element : The element on web page to be captured108 save_location : Path where to save image109 Returns:110 img_url(str) : The path of image111 Raises:112 N/A113 """114 image = self.full_Screenshot(driver, save_path=save_location, image_name='clipping_shot.png', elements=to_hide)115 location = element.location116 size = element.size117 x = location['x']118 y = location['y']119 w = size['width']120 h = size['height']121 width = x + w122 height = y + h123 print(width, height)124 image_object = Image.open(image)125 image_object = image_object.crop((int(x), int(y), int(width), int(height)))126 uid = str(uuid.uuid4())127 img_url = os.path.abspath(os.path.join(save_location, f"{uid}.png"))128 image_object.save(img_url)129 return img_url130 @staticmethod131 def hide_elements(driver: WebDriver, elements: list) -> None:132 """133 Usage:134 Hide elements from web page135 Args:136 driver : The path of chromedriver137 elements : The element on web page to be hide138 Returns:139 N/A140 Raises:141 N/A142 """143 if elements is not None:144 try:145 for e in elements:...

Full Screen

Full Screen

Ray.py

Source:Ray.py Github

copy

Full Screen

1from selenium import webdriver2from selenium.webdriver.common.by import By3from urllib.parse import urlencode4import base645driver = webdriver.Chrome("C:\webdrivers\chromedriver.exe")6code = b'x = "hello world"\nprint(x)'7code = base64.b64encode(code)8params = {9 'colors': 'sunset',10 'background': 'true',11 'darkMode': 'true',12 'padding': '16',13 'title': 'hello',14 'code': code,15 'language': 'python',16}17url = f'https://ray.so/?{urlencode(params)}'18driver.get(url)19hide_elements = driver.find_elements(By.XPATH, '//*[@id="frame"]/div[@data-hide-when-exporting]')20for element in hide_elements:21 driver.execute_script("arguments[0].style.display = 'none';", element)22image = driver.find_element(By.ID, 'frame').screenshot('./ray.so.image.png')...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run SeleniumBase automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful