Laden...
scoKi!
myCSharp.de - Member
22
Themen
90
Beiträge
Letzte Aktivität
vor 4 Jahren
Dabei seit
05.04.2009
Erstellt vor 4 Jahren

Hallo zusammen,

mein Ziel ist es, in einem komplett abgeschotteten Netzwerk eine Spracherkennung zu implementieren. Die verwendete Technologie muss daher (dauerhaft) offline arbeiten können.

Meine Frage bezieht sich konkret auf die Azure Cognitive Services, welche m.M.n. jedoch nie komplett offline betrieben werden können da jede Transkation über diese Services Geld kostet. Ist dies so korrekt?

Folgende Dienste möchte ich nutzen:

Bei beiden Services ist es mir bekannt, dass eigene Modelle trainiert werden können. So sollte es in der Theorie doch auch möglich sein, diese Offline betreiben zu können? Mir ist bewusst, dass die Modelle mit Testdaten trainiert werden müssen um gute Ergebnisse erzielen zu können. Gibt es ein Lizenzmodell welches z.B. ala Prepaid arbeitet? Sodass ich ein gewisses Kontigent an Transaktionen kaufen kann welches dann allmälich aufgebraucht wird? Oder ist dies alles nur Unfug?

Danke und Grüße

Erstellt vor 5 Jahren

Danke für die Antworten.

Ich werde jetzt nicht die Evaluierung für Dich übernehmen

Das ist auch nicht das was ich möchte 😃

... Azure Cognitive Services ...

Danke dass Du mich auf diesen Weg gebracht hast. Da ich bisher keine Erfahrung mit MS-Azure sammeln konnte, war mir nicht klar des es Dienste gibt welche offenbar meinen Anwendungsfall abdecken.

neuronales Netzwerk o.ä. selbst trainieren

Dieser Fakt ist für mein Verständnis wichtig. Danke

Ich denke ich werde mich in den Azure-Dienst CustomVision einarbeiten. Mir ist egal ob dieser online-basiert ist oder nicht, wichtig ist nur dass ich eine eigene Datenquelle / ein eigenes Kontingent an Bildern definieren kann.

Grüße

Erstellt vor 5 Jahren

Hallo zusammen,

wie würdet Ihr aktuell eine Bildsuche implementieren, welche eine eigene Datenquelle verwendet? (Also keine extern Daten von z.B. google / bing etc.)

Beispielsweise ist folgendes gegeben:

  • Datenbank mit 1000 verschiedenen Tieren
    -- Wobei jedes Tier ein eigenes Bild besitzt
    -- Die Bilder gleichen sich nicht in Abstand, Winkel, Auflösung etc.

Ich habe bereits versucht mir ein Grundwissen zu Bildsuche anzueignen, jedoch würde ich gerne eure Meinung zu den bestpassendsten Frameworks / Bibliotheken dazu hören. (Egal ob kostenfrei oder kostenpflichtig)

Wichtig wäre vermutlich(?) dass die Suche CIBR verwendet.

Ich denke, dass ich hierfür auf Frameworks wie ML.NET oder Tensorflow zurückgreifen müsste?

Danke + Grüße

Erstellt vor 6 Jahren

Ich erwarte keine Zauberei.

OK, ich danke für alle Antworten.

Erstellt vor 6 Jahren

Die Anwendung kann aktuell sehr gut damit umgehen. Das Problem ist aktuell nur die Übertragung.

Ich weiß es ist nur nett gemeint mich darauf hinzuweisen, aber das hat nichts mit meiner eigentlichen Frage zu tun.

Macht es Sinn ODATA einzusetzen? Wie gesagt, mein eigentliches Ziel war es die Datenmenge zu komprimieren.

Erstellt vor 6 Jahren

@Abt

Sinn der API ist nicht 1GB an Daten an den Client zu schieben, sondern eben 100000 Einträge. (Die Anzahl ist hierbei variabel und kann durch Parameter verändert werden)

Da jeder Eintrag sich durch eine Menge Informationen identifiziert, ist in diesem Fall so gegeben.

Wie gesagt, es geht hierbei um Auswertungen / Statistiken, welche von der Client-Anwendung erzeugt werden.

Ich möchte dass nochmals kurz zusammenfassen:

  • Gzip kann über
app.UseResponseCompression();

aktiviert werden

  • Muss im Client (Browser) noch irgendetwas durchgeführt werden, sodass die Daten komprimiert werden? (z.B. festlegen von bestimmten HttpHeader?)
  • Benötigt man einen ausgewachsenen Webserver oder ist dies auch rein mittels Kestrel möglich?
  • Weshalb wird nicht empfohlen rein auf Kestrel zu setzen? Bisher habe ich während meiner Forschungsarbeit nichts dergleichen lesen können (Gut, es kann auch sein dass ich etwas übersehen habe)

Im Endeffekt hab ich aber nicht verstanden, was Du genau komprimieren willst.
Wenn Du Gzip bereits aktiviert hast und die Json-Format-Möglichkeiten ausgeschöpft hast.. und auch den Body selbst nicht verkleiner willst... was soll denn noch komprimiert werden können, ohne auf Daten zu verzichten?

--> Gzip hatte ich bisher nicht aktiviert.
--> Json-Format ist bereits minified

Den Body könnte ich theoretisch so manipulieren dass ich gleiche Objekte zusammenfasse und diese aus den eigentlichen Informationen heraustrenne. Im Client müsste ich dann allerdings den gleichen Weg Rückwärts gehen, was technisch zwar machbar ist m.M.n. den (recht großen) Aufwand allerdings nicht rechtfertigt. Genau hierfür möchte ich eben das Result (bzw. aktuell den JSON-String) komprimieren.

Erstellt vor 6 Jahren

@Abt:
Ich möchte den Body komprimieren. Das Result vom Standard-MS-JsonSerializer hat sowieso keine Spaces. (Weshalb ich's auch nicht thematisiert habe)
Diese Middlewares kann ich meines Wissens aber nicht direkt mit Kestrel verwenden, weshalb ein IIS etc On-Top nötig ist. Oder liege ich hier falsch?

@T-Virus:
Konkretes Beispiel:
Die Anwendung erhält >100000-Datensätze durch diesen einen Funktionsaufruf. Jeder Entry hat hierbei ca. 200 Properties (Jetzt mal Flach dargestellt. Diese Informationen liegen verschachtelt vor)

Wenn ich mir die Übermittlung zwischen Server <-> Client anschaue, dann werden über 1GB an Daten übermittelt.

Die Anwendung benötigt so viele Daten da diese diverse Auswertungen / Statistiken durchführt. In Deserialisierter Form habe ich eine (geschätzte) RAM-Auslastung von 50MB. In Serialisierter Form ist der String jedoch wie gesagt > 1GB groß.

Erstellt vor 6 Jahren

verwendeter Webserver: Kestrel
ASP.NET Core Version: 2.1
Angular Version: 7.1.1

Hallo zusammen,

ich würde gerne die Antwort einer WebAPI-Funktion komprimieren. Aktuell wird als Result ein JSON-String verwendet, welcher allerdings in diesem speziellen Fall einen zu großen Overhead besitzt.

Meine Fragen lautet nun:

  • Was ist die beste Art und Weise das Ergebnis dieser einen Funktion umzustellen?
    ---> Soll man manuell die Daten komprimieren?
    ---> Soll man die Serialisierung dem Framework überlassen und allgemein auf einen anderen Serializer setzen? Wenn ja, welchen?
  • Die Daten werden von einer Angular-Anwendung angefragt, weshalb diese dann in der Anwendung auch dekomprimiert werden müssten?

Ich arbeite mich gerade durch folgenden Artikel, jedoch steht dort geschrieben dass die angegebenen Techniken nicht rein mit Kestrel funktionieren. (...Kestrel server don't currently offer built-in compression support)
https://github.com/aspnet/Docs/blob/master/aspnetcore/performance/response-compression.md

Danke

Erstellt vor 6 Jahren

... es läuft jetzt... Ein Neustart vom Buildserver war nötig damit die korrekte SDK-Version gefunden werden konnte 😭

Mein Problem war dass wohl mit der falschen dotnet.exe gearbeitet wurde. Dieses Fehlverhalten konnte ich allerdings nur im Buildagent feststellen, denn lokal (auf dem Server) hat alles wie erwartet funktioniert.

Ich glaube ich hatte auch einen Denkfehler, denn der .NET Installer-Task ist -glaube ich- nur für hosted Agents. (das macht ja auch irgendwie Sinn)

Danke

Erstellt vor 6 Jahren

Es ist die korrekte Version vom .NET Core SDK installiert. (siehe Anhang)

Hier noch der Inhalt von meiner global.json

{
    "sdk": {
        "version": "2.1.402"
    }
}