Commit b77cca74 authored by Kaif Siddique's avatar Kaif Siddique
Browse files

Update: New Executable file

parent 0a04e565
Showing with 37 additions and 19 deletions
+37 -19
...@@ -116,7 +116,7 @@ def main(): ...@@ -116,7 +116,7 @@ def main():
# Y_test = np.array(dft['label']) # Y_test = np.array(dft['label'])
# UP: read pre-trained LR model # UP: read pre-trained LR model
clf_log = pickle.load(open(args.model_dir + "\\clf_BERT.pickle", "rb")) clf_log = pickle.load(open(args.model_dir + "\\clf_BERT_SAF_DEEN_MiniLM.pickle", "rb"))
# print('--------Evaluate on Testset------- ', file=out) # print('--------Evaluate on Testset------- ', file=out)
predictions = clf_log.predict(X_test) predictions = clf_log.predict(X_test)
...@@ -207,4 +207,8 @@ def main(): ...@@ -207,4 +207,8 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
if sys.stdout is None:
sys.stdout = open(os.devnull, "w")
if sys.stderr is None:
sys.stderr = open(os.devnull, "w")
main() main()
...@@ -4,14 +4,14 @@ Warum möchten Sie bei der Objektserialisierung mit Hilfe von transient bzw. ser ...@@ -4,14 +4,14 @@ Warum möchten Sie bei der Objektserialisierung mit Hilfe von transient bzw. ser
Warum braucht man für XML-Tags Namensräume? Da jeder Benutzer frei XML-Tags definieren kann, kann es passieren, dass dasselbe Tag in mehreren Dokumenten vorkommt und jeweils eine unterschiedliche Bedeutung hat. Namensräume sorgen dafür, dass diese unterschiedlichen Bedeutungen eindeutig auseinandergehalten werden können, indem die Tags qualifiziert werden. Namensräume verknüpfen Tags mit einer Anwendung: Namensräume verknüft ein XML-Element mit einer Anwendung. Der Gültigkeitsbereich gilt für den Bereich mit dem Präfix versehenen Elemente und Attribute. correct incorrect Warum braucht man für XML-Tags Namensräume? Da jeder Benutzer frei XML-Tags definieren kann, kann es passieren, dass dasselbe Tag in mehreren Dokumenten vorkommt und jeweils eine unterschiedliche Bedeutung hat. Namensräume sorgen dafür, dass diese unterschiedlichen Bedeutungen eindeutig auseinandergehalten werden können, indem die Tags qualifiziert werden. Namensräume verknüpfen Tags mit einer Anwendung: Namensräume verknüft ein XML-Element mit einer Anwendung. Der Gültigkeitsbereich gilt für den Bereich mit dem Präfix versehenen Elemente und Attribute. correct incorrect
Sie möchten ein protected-Feld und mehrere unimplementierte Methoden vererben. Benutzen Sie eine Schnittstelle oder eine abstrakte Klasse? Warum? abstrakte Klasse. Schnittstellen können nur Konstanten vererben, abstrakte Klassen vererben Felder. alternativ: abstrakte Klassen vererben unimplementierte Methoden ich würde eine abstrakte Klasse benutzen, weil die Schinttstellen können nur Konstanten haben. correct correct Sie möchten ein protected-Feld und mehrere unimplementierte Methoden vererben. Benutzen Sie eine Schnittstelle oder eine abstrakte Klasse? Warum? abstrakte Klasse. Schnittstellen können nur Konstanten vererben, abstrakte Klassen vererben Felder. alternativ: abstrakte Klassen vererben unimplementierte Methoden ich würde eine abstrakte Klasse benutzen, weil die Schinttstellen können nur Konstanten haben. correct correct
Warum braucht man bei der Arbeit mit Threads Synchronisation? Man muss vermeiden, dass verschiedene Threads gleichzeitig auf Daten oder Objekte zugreifen, weil es dadurch zur Zerstörung von Werten und zu inkonsistenten Zuständen kommen kann. Wenn zwei oder mehrere parallel laufende Threads dasselbe Objekt ansprechen, kann es zu Problemem kommen, da beide gleichzeitig das Objekt ändern. Deswegen benutzt man Monitore, wobei die dazugehörigen Objekte in ein Monitor eingeschlossen werden. Eingekapselt werden kritische Abschnitte. incorrect correct Warum braucht man bei der Arbeit mit Threads Synchronisation? Man muss vermeiden, dass verschiedene Threads gleichzeitig auf Daten oder Objekte zugreifen, weil es dadurch zur Zerstörung von Werten und zu inkonsistenten Zuständen kommen kann. Wenn zwei oder mehrere parallel laufende Threads dasselbe Objekt ansprechen, kann es zu Problemem kommen, da beide gleichzeitig das Objekt ändern. Deswegen benutzt man Monitore, wobei die dazugehörigen Objekte in ein Monitor eingeschlossen werden. Eingekapselt werden kritische Abschnitte. incorrect correct
Wie wird bei Methodenschablonen ermittelt, welchen konkreten Typ T zur Laufzeit annimmt? Wie wird dies bei Klassenschablonen ermittelt? Bei Methodenschablonen wird T aus den angegebenen Parametern abgeleitet (deshalb muss T als einer der Parametertypen vorliegen). Wenn die Parameter nicht den gleichen Typ haben, wird T als der unterste gemeinsame Muttertyp in der Ableitungshierarchie gewählt. Bei Klassenschablonen wird beim Erstellen eines neuen Objekts die Typinstanziierung angegeben. Bei der instanzierung. Die in der Klammer verwendeten Typen. incorrect incorrect Wie wird bei Methodenschablonen ermittelt, welchen konkreten Typ T zur Laufzeit annimmt? Wie wird dies bei Klassenschablonen ermittelt? Bei Methodenschablonen wird T aus den angegebenen Parametern abgeleitet (deshalb muss T als einer der Parametertypen vorliegen). Wenn die Parameter nicht den gleichen Typ haben, wird T als der unterste gemeinsame Muttertyp in der Ableitungshierarchie gewählt. Bei Klassenschablonen wird beim Erstellen eines neuen Objekts die Typinstanziierung angegeben. Bei der instanzierung. Die in der Klammer verwendeten Typen. correct incorrect
Warum können verschiedene Instanzen von Enumerationstypen in switch-case-Konstrukten genutzt werden? Weil es von jedem Objekt nur eine Instanz gibt, so dass == mit equals() identisch ist. Weil die Enumerationstypen stets public, final und static sind. incorrect incorrect Warum können verschiedene Instanzen von Enumerationstypen in switch-case-Konstrukten genutzt werden? Weil es von jedem Objekt nur eine Instanz gibt, so dass == mit equals() identisch ist. Weil die Enumerationstypen stets public, final und static sind. incorrect incorrect
Wie bestimmen Sie bei einem XML-Dokument Gültigkeit und Wohlgeformtheit? Kann eines ohne das andere vorkommen? Wohlgeformtheit bestimmt sich aus den Syntaxvorschriften für XML-Dokumente (z.B. müssen alle Tags geschlossen werden, es darf nur ein Wurzelelement geben, reservierte Zeichen müssen vermieden werden). Gültigkeit liegt vor, wenn das XML-Dokument darüber hinaus der Elementdefinition aus der DTD entspricht. Ein XML-Dokument kann wohlgeformt sein, ohne gültig zu sein, aber zur Gültigkeit ist die Wohlgeformtheit Voraussetzung. Alternativ: Dokumente werden mit ""validate"" auf Gültigkeit und Wohlgeformtheit geprüft Ein XML Dokument muss einen internen und externen DTD enthalten. Die DTD-Datei beschreibt die Struktur. Diese muss gut geformt sein. Eine XML Datei kann ohne DTD nicht vorkommen, denn dann ist Struktur nicht wohlgeformt. incorrect incorrect Wie bestimmen Sie bei einem XML-Dokument Gültigkeit und Wohlgeformtheit? Kann eines ohne das andere vorkommen? Wohlgeformtheit bestimmt sich aus den Syntaxvorschriften für XML-Dokumente (z.B. müssen alle Tags geschlossen werden, es darf nur ein Wurzelelement geben, reservierte Zeichen müssen vermieden werden). Gültigkeit liegt vor, wenn das XML-Dokument darüber hinaus der Elementdefinition aus der DTD entspricht. Ein XML-Dokument kann wohlgeformt sein, ohne gültig zu sein, aber zur Gültigkeit ist die Wohlgeformtheit Voraussetzung. Alternativ: Dokumente werden mit ""validate"" auf Gültigkeit und Wohlgeformtheit geprüft Ein XML Dokument muss einen internen und externen DTD enthalten. Die DTD-Datei beschreibt die Struktur. Diese muss gut geformt sein. Eine XML Datei kann ohne DTD nicht vorkommen, denn dann ist Struktur nicht wohlgeformt. correct incorrect
In einer Swing-Demo ändert sich beim Klick auf einen Button der Text auf dem Button. Wie sieht der mehrschrittige Ablauf hinter den Kulissen aus? Der Klick auf den Button erzeugt ein ActionEvent. Das ActionEvent wird von einem Listener aufgefangen, der beim Button registriert ist. Dieser Listener führt daraufhin seinen Code aus, der den Text ändert. es wird mit einer actionEvent erzeugt incorrect incorrect In einer Swing-Demo ändert sich beim Klick auf einen Button der Text auf dem Button. Wie sieht der mehrschrittige Ablauf hinter den Kulissen aus? Der Klick auf den Button erzeugt ein ActionEvent. Das ActionEvent wird von einem Listener aufgefangen, der beim Button registriert ist. Dieser Listener führt daraufhin seinen Code aus, der den Text ändert. es wird mit einer actionEvent erzeugt correct incorrect
Classification Report - high Precision for classes correct or incorrect indicates that the class prediction is reliable: Classification Report - high Precision for classes correct or incorrect indicates that the class prediction is reliable:
precision recall f1-score support precision recall f1-score support
correct 0.50 0.67 0.57 3 correct 0.29 0.67 0.40 3
incorrect 0.80 0.67 0.73 6 incorrect 0.50 0.17 0.25 6
accuracy 0.67 9 accuracy 0.33 9
weighted avg 0.70 0.67 0.68 9 weighted avg 0.43 0.33 0.30 9
\ No newline at end of file \ No newline at end of file
import sys
import os
if sys.stdout is None:
sys.stdout = open(os.devnull, "w")
if sys.stderr is None:
sys.stderr = open(os.devnull, "w")
\ No newline at end of file
...@@ -16,11 +16,11 @@ import tkinter ...@@ -16,11 +16,11 @@ import tkinter
import pandas as pd import pandas as pd
import sys import sys
import os import os
from sklearn.metrics import f1_score #from sklearn.metrics import f1_score
from matplotlib import pyplot as plt #from matplotlib import pyplot as plt
from sklearn.metrics import confusion_matrix, classification_report #from sklearn.metrics import confusion_matrix, classification_report
import seaborn as sns #import seaborn as sns
from Skript.english.run_SAG_mnli import main as english_backend # from Skript.english.run_SAG_mnli import main as english_backend
from Skript.german.run_LR_SBERT import main as german_backend from Skript.german.run_LR_SBERT import main as german_backend
...@@ -285,8 +285,8 @@ class App(ttk.Frame): ...@@ -285,8 +285,8 @@ class App(ttk.Frame):
self.label.grid(row=5, column=0, padx=5, pady=10, sticky="w") self.label.grid(row=5, column=0, padx=5, pady=10, sticky="w")
# set state for button2("Input"-button) and if 'Spanish' is chosen in the combobox disable both buttons # set state for button2("Input"-button) and if 'Spanish' is chosen in the combobox disable both buttons
def set_buttons_state(event): # def set_buttons_state(event):
self.button2.config(state="normal") # self.button2.config(state="normal")
# print('State changed') # print('State changed')
# if self.combobox.get() == 'Spanish': # if self.combobox.get() == 'Spanish':
# showwarning(title="Information", message="Not available") # showwarning(title="Information", message="Not available")
...@@ -317,6 +317,8 @@ def resource_path(relative_path): ...@@ -317,6 +317,8 @@ def resource_path(relative_path):
class NullWriter: class NullWriter:
def write(self, data): def write(self, data):
pass pass
def flush(self):
pass
if __name__ == "__main__": if __name__ == "__main__":
...@@ -329,6 +331,10 @@ if __name__ == "__main__": ...@@ -329,6 +331,10 @@ if __name__ == "__main__":
if sys.stderr is None: if sys.stderr is None:
sys.stderr = NullWriter() sys.stderr = NullWriter()
# if sys.stdout is None:
# sys.stdout = open(os.devnull, "w")
# if sys.stderr is None:
# sys.stderr = open(os.devnull, "w")
root = tk.Tk() root = tk.Tk()
root.title("ASYST") root.title("ASYST")
......
...@@ -37,11 +37,12 @@ datas +=[('azure.tcl', '.'), ...@@ -37,11 +37,12 @@ datas +=[('azure.tcl', '.'),
('.\\Skript','./Skript')] ('.\\Skript','./Skript')]
a = Analysis( a = Analysis(
['.\\main.py','.\\Skript\\german\\run_LR_SBERT.py','.\\Skript\\english\\run_SAG_mnli.py', ], # ['.\\main.py','.\\Skript\\german\\run_LR_SBERT.py','.\\Skript\\english\\run_SAG_mnli.py', ],
['.\\main.py','.\\Skript\\german\\run_LR_SBERT.py', ],
# Hier den Pfad zu den site-packages (entweder des environments oder der zentralen Installation) angeben # Hier den Pfad zu den site-packages (entweder des environments oder der zentralen Installation) angeben
pathex=[ pathex=[
#'..\\venv\\Lib\\site-packages\\', '..\\venv\\Lib\\site-packages\\',
'C:\\Users\\ulrike\\AppData\\Local\\Programs\\Python\\Python310\\Lib\\site-packages', # 'C:\\Users\\kaifm\\AppData\\Local\\Programs\\Python\\Python310\\Lib\\site-packages',
'.\\Skript\\' '.\\Skript\\'
], ],
binaries=[], binaries=[],
...@@ -64,7 +65,7 @@ a = Analysis( ...@@ -64,7 +65,7 @@ a = Analysis(
'numpy'], 'numpy'],
hookspath=[], hookspath=[],
hooksconfig={}, hooksconfig={},
runtime_hooks=[], runtime_hooks=['.\\hook_stdout.py'],
excludes=[], excludes=[],
win_no_prefer_redirects=False, win_no_prefer_redirects=False,
win_private_assemblies=False, win_private_assemblies=False,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment