Einmalumdiewelt commited on
Commit
81876f0
1 Parent(s): 34d8aae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -24
app.py CHANGED
@@ -1,34 +1,38 @@
1
  import gradio as gr
2
 
3
- #def greet(name):
4
- # return "Hello " + name + "!!"
5
 
6
- description = "Quickly summarize your German text in a few sentences. \nThe algorithm was fine-tuned on high-quality German news articles."
7
 
8
- title = "Finally there's a German \ntext summarization algorithm."
 
 
9
 
10
- examples = [["Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung: Ein künstliches System lernt aus Beispielen und kann diese nach Beendigung der Lernphase verallgemeinern. Dazu bauen Algorithmen beim maschinellen Lernen ein statistisches Modell auf, das auf Trainingsdaten beruht und welches gegen die Testdaten getestet wird. Das heißt, es werden nicht einfach die Beispiele auswendig gelernt (siehe Überanpassung), sondern Muster und Gesetzmäßigkeiten in den Lerndaten erkannt. So kann das System auch unbekannte Daten beurteilen (Lerntransfer) oder aber am Lernen unbekannter Daten scheitern (Überanpassung; englisch overfitting). Aus dem weiten Spektrum möglicher Anwendungen seien hier genannt: automatisierte Diagnose­verfahren, Erkennung von Kreditkartenbetrug, Aktienmarkt­analysen, Klassifikation von Nukleotidsequenzen, Sprach- und Texterkennung sowie autonome Systeme."],["Proteins are essential to life, and understanding their structure can facilitate a mechanistic understanding of their function. Through an enormous experimental effort, the structures of around 100,000 unique proteins have been determined, but this represents a small fraction of the billions of known protein sequences. Structural coverage is bottlenecked by the months to years of painstaking effort required to determine a single protein structure. Accurate computational approaches are needed to address this gap and to enable large-scale structural bioinformatics. Predicting the three-dimensional structure that a protein will adopt based solely on its amino acid sequence—the structure prediction component of the ‘protein folding problem’—has been an important open research problem for more than 50 years. Despite recent progress, existing methods fall far short of atomic accuracy, especially when no homologous structure is available. Here we provide the first computational method that can regularly predict protein structures with atomic accuracy even in cases in which no similar structure is known. We validated an entirely redesigned version of our neural network-based model, AlphaFold, in the challenging 14th Critical Assessment of protein Structure Prediction (CASP14), demonstrating accuracy competitive with experimental structures in a majority of cases and greatly outperforming other methods. Underpinning the latest version of AlphaFold is a novel machine learning approach that incorporates physical and biological knowledge about protein structure, leveraging multi-sequence alignments, into the design of the deep learning algorithm."]]
11
 
12
- interface = gr.Interface.load("models/Einmalumdiewelt/T5-Base_GNAD",
13
- min_length=100,
14
- max_length=200,
15
- title=title,
16
- description=description,
17
- examples="summarize: " + examples)
 
 
 
 
18
 
19
- interface.launch()
20
 
21
- #["Ein Transformer ist eine Methode, mit der ein Computer eine Folge von Zeichen in eine andere Folge von Zeichen übersetzen kann. Dies kann z. B. benutzt werden, um Text von einer Sprache in eine andere zu übersetzen. Dazu wird ein Transformer mittels maschinellem Lernen auf einer (großen) Menge von Beispiel-Daten trainiert, bevor das trainierte Modell dann zur Übersetzung verwendet werden kann. Transformer gehören zu den Deep-Learning-Architekturen. Transformer wurden 2017 im Rahmen der Neural-Information-Processing-Systems-Konferenz veröffentlicht."]
22
 
23
- #import gradio as gr
24
- #description = "BigGAN text-to-image demo."
25
- #title = "BigGAN ImageNet"
26
- #interface = gr.Interface.load("huggingface/osanseviero/BigGAN-deep-128",
27
  # description=description,
28
- # title = title,
29
- # examples=[["american robin"]]
30
- #)
31
- #interface.launch()
32
-
33
- #iface = gr.Interface(fn=greet, inputs="text", outputs="text")
34
- #iface.launch()
 
 
1
  import gradio as gr
2
 
3
+ import torch
4
+ device = "cuda" if torch.cuda.is_available() else "cpu"
5
 
6
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
7
 
8
+ tokenizer = AutoTokenizer.from_pretrained("Einmalumdiewelt/T5-Base_GNAD")
9
+ model = AutoModelForSeq2SeqLM.from_pretrained("Einmalumdiewelt/T5-Base_GNAD")
10
+ model.to(device)
11
 
 
12
 
13
+ def summarize(inputs):
14
+ with torch.no_grad():
15
+ # with a max_length of 200, the model has a chance to encapsule lots of information
16
+ preds = model.generate(**inputs,max_length=200,min_length=100)
17
+ # we decode the predictions to store them
18
+ decoded_predictions = tokenizer.batch_decode(predictions, skip_special_tokens=True)
19
+ # each batches predictions are appended to the list
20
+ return decoded_predictions
21
+
22
+ description = "Quickly summarize your German text in a few sentences. \nThe algorithm was fine-tuned on high-quality German news articles."
23
 
24
+ title = "Finally there's a German \ntext summarization algorithm."
25
 
26
+ examples = [["summarize: Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung: Ein künstliches System lernt aus Beispielen und kann diese nach Beendigung der Lernphase verallgemeinern. Dazu bauen Algorithmen beim maschinellen Lernen ein statistisches Modell auf, das auf Trainingsdaten beruht und welches gegen die Testdaten getestet wird. Das heißt, es werden nicht einfach die Beispiele auswendig gelernt (siehe Überanpassung), sondern Muster und Gesetzmäßigkeiten in den Lerndaten erkannt. So kann das System auch unbekannte Daten beurteilen (Lerntransfer) oder aber am Lernen unbekannter Daten scheitern (Überanpassung; englisch overfitting). Aus dem weiten Spektrum möglicher Anwendungen seien hier genannt: automatisierte Diagnose­verfahren, Erkennung von Kreditkartenbetrug, Aktienmarkt­analysen, Klassifikation von Nukleotidsequenzen, Sprach- und Texterkennung sowie autonome Systeme."],["summarize: Am 15. Juli 2021 war die KI des britischen Unternehmens Deepmind auch für kommerzielle Unternehmen freigegeben worden. Rund ein Jahr später hat Alphafold fast alle 3D-Strukturen des Protein-Universums erfasst. Damit lässt sich eine der wichtigsten Fragen der Molekularbiologie vergleichsweise mühelos beantworten: die nämlich, zu welcher Form sich die Kette eines Proteins ausbildet. Die 3D-Struktur eines Moleküls ist entscheidend für seine Funktionen. Wer sie kennt, kann zudem leichter herausfinden, ob und mit welchen Wirkstoffen sich das Protein beeinflussen lassen könnte. Am 28. Juli 2022 gab Googles Schwesterunternehmen Deepmind nun bekannt, dass die KI die 3D-Strukturen von über 200 Millionen Proteinen entschlüsselt hat. „Im Wesentlichen kann man sich vorstellen, dass es das gesamte Proteinuniversum abdeckt“, wird Demis Hassabis, Gründer und CEO von Deepmind, in einem Bericht von Cnet zitiert. Zum Vergleich: Beim Start von Alphafold in Open Source waren 350.000 3D-Proteine identifiziert. Laut Hassabis haben seitdem mehr als 500.000 Wissenschaftler:innen die bestehende Datenbank genutzt, um über 200 Millionen Strukturen anzuzeigen. „Und diese prädiktiven Strukturen haben Wissenschaftlern geholfen, brillante neue Entdeckungen zu machen“, heißt es vonseiten des Deepmind-CEOs. Demnach konnten unter anderem Enzymforscher:innen Alphafold dazu nutzen, um Lösungen zur Bekämpfung von Kunststoffabfällen zu entwickeln."]]
27
 
28
+ #interface = gr.Interface.load("models/Einmalumdiewelt/T5-Base_GNAD",
29
+ # title=title,
 
 
30
  # description=description,
31
+ # examples=examples)
32
+
33
+ interface = gr.Interface.load(summarize,
34
+ title=title,
35
+ description=description,
36
+ examples=examples)
37
+
38
+ interface.launch(share=True)