# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(595, 680)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setObjectName("tabWidget")
        self.aeTab = QtWidgets.QWidget()
        self.aeTab.setObjectName("aeTab")
        self.gridLayout = QtWidgets.QGridLayout(self.aeTab)
        self.gridLayout.setObjectName("gridLayout")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_2 = QtWidgets.QLabel(self.aeTab)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_3.addWidget(self.label_2)
        self.datasetPathLineEdit = QtWidgets.QLineEdit(self.aeTab)
        self.datasetPathLineEdit.setReadOnly(True)
        self.datasetPathLineEdit.setObjectName("datasetPathLineEdit")
        self.horizontalLayout_3.addWidget(self.datasetPathLineEdit)
        self.datasetPathButton = QtWidgets.QPushButton(self.aeTab)
        self.datasetPathButton.setObjectName("datasetPathButton")
        self.horizontalLayout_3.addWidget(self.datasetPathButton)
        self.gridLayout.addLayout(self.horizontalLayout_3, 1, 0, 1, 2)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
        self.trainAutoEncoderButton = QtWidgets.QPushButton(self.aeTab)
        self.trainAutoEncoderButton.setObjectName("trainAutoEncoderButton")
        self.gridLayout.addWidget(self.trainAutoEncoderButton, 4, 1, 1, 2)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label = QtWidgets.QLabel(self.aeTab)
        self.label.setObjectName("label")
        self.horizontalLayout_2.addWidget(self.label)
        self.newAutoEncoderNameLineEdit = QtWidgets.QLineEdit(self.aeTab)
        self.newAutoEncoderNameLineEdit.setReadOnly(True)
        self.newAutoEncoderNameLineEdit.setObjectName("newAutoEncoderNameLineEdit")
        self.horizontalLayout_2.addWidget(self.newAutoEncoderNameLineEdit)
        self.newAutoEncoderSaveButton = QtWidgets.QPushButton(self.aeTab)
        self.newAutoEncoderSaveButton.setObjectName("newAutoEncoderSaveButton")
        self.horizontalLayout_2.addWidget(self.newAutoEncoderSaveButton)
        self.gridLayout.addLayout(self.horizontalLayout_2, 0, 0, 1, 2)
        spacerItem1 = QtWidgets.QSpacerItem(20, 214, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
        self.tabWidget_2 = QtWidgets.QTabWidget(self.aeTab)
        self.tabWidget_2.setObjectName("tabWidget_2")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.tab)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.optimizerCombobox = QtWidgets.QComboBox(self.tab)
        self.optimizerCombobox.setCurrentText("")
        self.optimizerCombobox.setObjectName("optimizerCombobox")
        self.gridLayout_3.addWidget(self.optimizerCombobox, 3, 1, 1, 1)
        self.spinBox_2 = QtWidgets.QSpinBox(self.tab)
        self.spinBox_2.setMinimum(1)
        self.spinBox_2.setMaximum(500)
        self.spinBox_2.setProperty("value", 50)
        self.spinBox_2.setObjectName("spinBox_2")
        self.gridLayout_3.addWidget(self.spinBox_2, 2, 1, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.tab)
        self.label_6.setObjectName("label_6")
        self.gridLayout_3.addWidget(self.label_6, 3, 0, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_3.addItem(spacerItem2, 1, 2, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.tab)
        self.label_3.setObjectName("label_3")
        self.gridLayout_3.addWidget(self.label_3, 0, 0, 1, 1)
        self.spinBox = QtWidgets.QSpinBox(self.tab)
        self.spinBox.setMinimum(1)
        self.spinBox.setMaximum(64)
        self.spinBox.setProperty("value", 4)
        self.spinBox.setObjectName("spinBox")
        self.gridLayout_3.addWidget(self.spinBox, 0, 1, 1, 1)
        self.label_5 = QtWidgets.QLabel(self.tab)
        self.label_5.setObjectName("label_5")
        self.gridLayout_3.addWidget(self.label_5, 2, 0, 1, 1)
        self.optimizerSelectTab = QtWidgets.QTabWidget(self.tab)
        self.optimizerSelectTab.setObjectName("optimizerSelectTab")
        self.AdamTab = QtWidgets.QWidget()
        self.AdamTab.setObjectName("AdamTab")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.AdamTab)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.scrollArea = QtWidgets.QScrollArea(self.AdamTab)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 503, 71))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.AdamLearningRate = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents)
        self.AdamLearningRate.setDecimals(9)
        self.AdamLearningRate.setMaximum(1.0)
        self.AdamLearningRate.setSingleStep(0.0001)
        self.AdamLearningRate.setStepType(QtWidgets.QAbstractSpinBox.AdaptiveDecimalStepType)
        self.AdamLearningRate.setProperty("value", 0.0001)
        self.AdamLearningRate.setObjectName("AdamLearningRate")
        self.gridLayout_5.addWidget(self.AdamLearningRate, 0, 1, 1, 1)
        self.label_4 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_4.setObjectName("label_4")
        self.gridLayout_5.addWidget(self.label_4, 0, 0, 1, 1)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_5.addItem(spacerItem3, 0, 2, 1, 1)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.gridLayout_4.addWidget(self.scrollArea, 0, 0, 1, 1)
        self.optimizerSelectTab.addTab(self.AdamTab, "")
        self.ASGDTab = QtWidgets.QWidget()
        self.ASGDTab.setObjectName("ASGDTab")
        self.gridLayout_7 = QtWidgets.QGridLayout(self.ASGDTab)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.scrollArea_2 = QtWidgets.QScrollArea(self.ASGDTab)
        self.scrollArea_2.setWidgetResizable(True)
        self.scrollArea_2.setObjectName("scrollArea_2")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 503, 71))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.gridLayout_6 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
        self.gridLayout_6.setObjectName("gridLayout_6")
        self.label_7 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_7.setObjectName("label_7")
        self.gridLayout_6.addWidget(self.label_7, 0, 0, 1, 1)
        self.ASGDLearningRate = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.ASGDLearningRate.setDecimals(9)
        self.ASGDLearningRate.setMaximum(1.0)
        self.ASGDLearningRate.setSingleStep(0.0001)
        self.ASGDLearningRate.setStepType(QtWidgets.QAbstractSpinBox.AdaptiveDecimalStepType)
        self.ASGDLearningRate.setProperty("value", 0.0001)
        self.ASGDLearningRate.setObjectName("ASGDLearningRate")
        self.gridLayout_6.addWidget(self.ASGDLearningRate, 0, 1, 1, 1)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_6.addItem(spacerItem4, 0, 2, 1, 1)
        self.label_8 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_8.setObjectName("label_8")
        self.gridLayout_6.addWidget(self.label_8, 1, 0, 1, 1)
        self.ASGDlambd = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.ASGDlambd.setDecimals(9)
        self.ASGDlambd.setMaximum(1.0)
        self.ASGDlambd.setSingleStep(0.0001)
        self.ASGDlambd.setStepType(QtWidgets.QAbstractSpinBox.AdaptiveDecimalStepType)
        self.ASGDlambd.setProperty("value", 0.0001)
        self.ASGDlambd.setObjectName("ASGDlambd")
        self.gridLayout_6.addWidget(self.ASGDlambd, 1, 1, 1, 1)
        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
        self.gridLayout_7.addWidget(self.scrollArea_2, 0, 0, 1, 1)
        self.optimizerSelectTab.addTab(self.ASGDTab, "")
        self.RMSPropTab = QtWidgets.QWidget()
        self.RMSPropTab.setObjectName("RMSPropTab")
        self.gridLayout_9 = QtWidgets.QGridLayout(self.RMSPropTab)
        self.gridLayout_9.setObjectName("gridLayout_9")
        self.scrollArea_3 = QtWidgets.QScrollArea(self.RMSPropTab)
        self.scrollArea_3.setWidgetResizable(True)
        self.scrollArea_3.setObjectName("scrollArea_3")
        self.scrollAreaWidgetContents_3 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 503, 71))
        self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3")
        self.gridLayout_8 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_3)
        self.gridLayout_8.setObjectName("gridLayout_8")
        self.label_9 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3)
        self.label_9.setObjectName("label_9")
        self.gridLayout_8.addWidget(self.label_9, 0, 0, 1, 1)
        self.RMSPropLearningRate = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_3)
        self.RMSPropLearningRate.setDecimals(9)
        self.RMSPropLearningRate.setMaximum(1.0)
        self.RMSPropLearningRate.setSingleStep(0.0001)
        self.RMSPropLearningRate.setStepType(QtWidgets.QAbstractSpinBox.AdaptiveDecimalStepType)
        self.RMSPropLearningRate.setProperty("value", 0.0001)
        self.RMSPropLearningRate.setObjectName("RMSPropLearningRate")
        self.gridLayout_8.addWidget(self.RMSPropLearningRate, 0, 1, 1, 1)
        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_8.addItem(spacerItem5, 0, 2, 1, 1)
        self.label_10 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3)
        self.label_10.setObjectName("label_10")
        self.gridLayout_8.addWidget(self.label_10, 1, 0, 1, 1)
        self.RMSPropMomentum = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_3)
        self.RMSPropMomentum.setDecimals(9)
        self.RMSPropMomentum.setMaximum(1.0)
        self.RMSPropMomentum.setSingleStep(0.0001)
        self.RMSPropMomentum.setStepType(QtWidgets.QAbstractSpinBox.AdaptiveDecimalStepType)
        self.RMSPropMomentum.setProperty("value", 0.0)
        self.RMSPropMomentum.setObjectName("RMSPropMomentum")
        self.gridLayout_8.addWidget(self.RMSPropMomentum, 1, 1, 1, 1)
        self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3)
        self.gridLayout_9.addWidget(self.scrollArea_3, 0, 0, 1, 1)
        self.optimizerSelectTab.addTab(self.RMSPropTab, "")
        self.gridLayout_3.addWidget(self.optimizerSelectTab, 4, 0, 1, 3)
        self.tabWidget_2.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.tabWidget_2.addTab(self.tab_2, "")
        self.gridLayout.addWidget(self.tabWidget_2, 2, 0, 1, 3)
        self.tabWidget.addTab(self.aeTab, "")
        self.gridLayout_2.addWidget(self.tabWidget, 0, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 595, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.tabWidget.setCurrentIndex(0)
        self.tabWidget_2.setCurrentIndex(0)
        self.optimizerSelectTab.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Neural network UI"))
        self.label_2.setText(_translate("MainWindow", "Emplacement du dataset (liste des fichiers)"))
        self.datasetPathButton.setText(_translate("MainWindow", "..."))
        self.trainAutoEncoderButton.setText(_translate("MainWindow", "Entraîner l\'autoencodeur"))
        self.label.setText(_translate("MainWindow", "Nom du fichier de destination"))
        self.newAutoEncoderSaveButton.setText(_translate("MainWindow", "..."))
        self.label_6.setText(_translate("MainWindow", "Optimiseur :"))
        self.label_3.setText(_translate("MainWindow", "Taille du batch :"))
        self.label_5.setText(_translate("MainWindow", "Nombre d\'époques :"))
        self.label_4.setText(_translate("MainWindow", "Learning rate :"))
        self.optimizerSelectTab.setTabText(self.optimizerSelectTab.indexOf(self.AdamTab), _translate("MainWindow", "Adam"))
        self.label_7.setText(_translate("MainWindow", "Learning rate :"))
        self.label_8.setText(_translate("MainWindow", "Decay :"))
        self.optimizerSelectTab.setTabText(self.optimizerSelectTab.indexOf(self.ASGDTab), _translate("MainWindow", "ASGD"))
        self.label_9.setText(_translate("MainWindow", "Learning rate :"))
        self.label_10.setText(_translate("MainWindow", "Momentum :"))
        self.optimizerSelectTab.setTabText(self.optimizerSelectTab.indexOf(self.RMSPropTab), _translate("MainWindow", "RMSProp"))
        self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab), _translate("MainWindow", "Options d\'entraînement"))
        self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_2), _translate("MainWindow", "Options de dataset"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.aeTab), _translate("MainWindow", "Entraîner un nouvel auto-encodeur"))




if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
