Jump to content

Dietmar

Member
  • Posts

    1,133
  • Joined

  • Last visited

  • Days Won

    5
  • Donations

    0.00 USD 
  • Country

    Germany

Everything posted by Dietmar

  1. Hi, can you give me 3 names for a cat and 3 names for a dog? Thanks a lot Dietmar
  2. Yesssa, I have the prove: The name Tima was first interpreted as "Hund" dog. But after training, Tima was first interpreted as "Katze" cat. I never tell the program, that Tima is the name of a cat. This means: Machines can learn things, that they have never done before. They can do more, than the programmer told them. A year ago, I would tell everybody, that this is nonsense. But the little, nice program above teach me, that I was wrong Dietmar
  3. Next version of this nice Ai program, where now you can see, that it learns. My next test of this program here will be, if after training, NEW words are correct at once, which have been done before wrong. I mean words, that the program has never seen before and during first test get a (n). Now, if all works as expected, the same word should get a (j) after training on first try. This behavior, if it happens, I would say is pur Intelligence. For example, the program can learn, if this is a name for a dog or for a cat. Not seen before those names. This program looks, if a user put in via keyboard a dog (Hund) or cat (Katze) or other (nix). This input words are all stored. When you type "liste", the list of all until now via keyboard transported words are listed. AND: If they are correct (j) or wrong (n) interpreted from Ai. In next step, when you correct Ai (n) ==> (j) always. Oh, just now I try different names for dogs and cats for example "Bello" and "Tima" Dietmar package tiere; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; public class Tiere { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); NeuralNetwork<?> neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 26, 20, 20, 3); DataSet trainingSet = new DataSet(26, 3); Map<String, String> bewertungen = new HashMap<>(); Map<String, String> antworten = new HashMap<>(); while (true) { System.out.println("Gib ein Wort ein:"); String eingabe = scanner.nextLine().toLowerCase(); if (eingabe.equals("liste")) { for (String wort : bewertungen.keySet()) { String bewertung = bewertungen.get(wort); String antwort = antworten.get(wort); System.out.println(wort + ": " + bewertung + " (" + antwort + ")"); } continue; } double[] input = createInputVector(eingabe); neuralNetwork.setInput(input); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput().clone(); String ergebnis = bestimmeErgebnis(output); System.out.println("Das Programm schätzt, dass es sich um " + ergebnis + " handelt."); System.out.println("War das Ergebnis korrekt? (Ja/Nein)"); String antwort = scanner.nextLine().toLowerCase(); antworten.put(eingabe, antwort); if (antwort.startsWith("n")) { double[] gewünschteAusgabe = new double[3]; System.out.println("Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix)"); String tier = scanner.nextLine().toLowerCase(); switch (tier) { case "hund": gewünschteAusgabe[0] = 1; break; case "katze": gewünschteAusgabe[1] = 1; break; default: gewünschteAusgabe[2] = 1; break; } DataSetRow trainingElement = new DataSetRow(input, gewünschteAusgabe); trainingSet.add(trainingElement); neuralNetwork.learn(trainingSet); String bewertung = gewünschteAusgabe[0] == 1 ? "Hund" : gewünschteAusgabe[1] == 1 ? "Katze" : "nix"; bewertungen.put(eingabe, bewertung); System.out.println("Das neuronale Netzwerk wurde aktualisiert."); } else { String bewertung = ergebnis; bewertungen.put(eingabe, bewertung); } } } // Hilfsmethode zum Erstellen des Eingabevektors private static double[] createInputVector(String eingabe) { double[] input = new double[26]; for (int i = 0; i < eingabe.length(); i++) { char c = eingabe.charAt(i); if (c >= 'a' && c <= 'z') { input[c - 'a'] = 1; } } return input; } // Hilfsmethode zum Bestimmen des Ergebnisses aus der Ausgabe des Netzwerks private static String bestimmeErgebnis(double[] output) { if (output[0] > output[1] && output[0] > output[2]) { return "Hund"; } else if (output[1] > output[0] && output[1] > output[2]) { return "Katze"; } else { return "nix"; } } }
  4. This is the same program via Ai, for to look only via keyboard, if an cat "Katze" or dog "Hund" or other "nix" ,that the human, who types the word, means. But now you can see all the new learned words, when you type "liste". The words, the Ai interprets correct in first try, are not in this list Dietmar package tiere; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; public class Tiere { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); NeuralNetwork<?> neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 26, 20, 20, 3); DataSet trainingSet = new DataSet(26, 3); Map<String, String> bewertungen = new HashMap<>(); // Neues Bewertungs-Dictionary while (true) { System.out.println("Gib ein Wort ein:"); String eingabe = scanner.nextLine().toLowerCase(); if (eingabe.equals("liste")) { // Wenn "liste" eingegeben wird for (String wort : bewertungen.keySet()) { System.out.println(wort + ": " + bewertungen.get(wort)); // Gib alle Bewertungen aus } continue; } double[] input = createInputVector(eingabe); neuralNetwork.setInput(input); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput().clone(); String ergebnis = bestimmeErgebnis(output); System.out.println("Das Programm schätzt, dass es sich um " + ergebnis + " handelt."); System.out.println("War das Ergebnis korrekt? (Ja/Nein)"); String antwort = scanner.nextLine().toLowerCase(); if (antwort.startsWith("j")) { continue; } double[] gewünschteAusgabe = new double[3]; System.out.println("Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix)"); String tier = scanner.nextLine().toLowerCase(); switch (tier) { case "hund": gewünschteAusgabe[0] = 1; break; case "katze": gewünschteAusgabe[1] = 1; break; default: gewünschteAusgabe[2] = 1; break; } DataSetRow trainingElement = new DataSetRow(input, gewünschteAusgabe); trainingSet.add(trainingElement); neuralNetwork.learn(trainingSet); String bewertung = gewünschteAusgabe[0] == 1 ? "Hund" : gewünschteAusgabe[1] == 1 ? "Katze" : "nix"; bewertungen.put(eingabe, bewertung); // Füge Bewertung zum Dictionary hinzu System.out.println("Das neuronale Netzwerk wurde aktualisiert."); } } // Hilfsmethode zum Erstellen des Eingabevektors private static double[] createInputVector(String eingabe) { double[] input = new double[26]; for (int i = 0; i < eingabe.length(); i++) { char c = eingabe.charAt(i); if (c >= 'a' && c <= 'z') { input[c - 'a'] = 1; } } return input; } // Hilfsmethode zum Bestimmen des Ergebnisses aus der Ausgabe des Netzwerks private static String bestimmeErgebnis(double[] output) { if (output[0] > output[1] && output[0] > output[2]) { return "Hund"; } else if (output[1] > output[0] && output[1] > output[2]) { return "Katze"; } else { return "nix"; } } }
  5. Hi, after crazy hard work, now I make a programm, which can decide if it is "Hund" or "Katze" or "nix". And the program is crazy good learning, for example "Mausi" is now "Katze" but "Maus" is "nix" Dietmar PS:Until now, a lot of mistakes are in any program about Ai. But it can be done better. So we need to be afraid of Ai as much as possible. This small program shows ALL. package tiere; import java.util.Scanner; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; public class Tiere { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); NeuralNetwork<?> neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 26, 20, 20, 3); DataSet trainingSet = new DataSet(26, 3); while (true) { System.out.println("Gib ein Wort ein:"); String eingabe = scanner.nextLine().toLowerCase(); double[] input = createInputVector(eingabe); neuralNetwork.setInput(input); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput().clone(); String ergebnis = bestimmeErgebnis(output); System.out.println("Das Programm schätzt, dass es sich um " + ergebnis + " handelt."); System.out.println("War das Ergebnis korrekt? (Ja/Nein)"); String antwort = scanner.nextLine().toLowerCase(); if (antwort.startsWith("j")) { continue; } double[] gewünschteAusgabe = new double[3]; System.out.println("Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix)"); String tier = scanner.nextLine().toLowerCase(); switch (tier) { case "hund": gewünschteAusgabe[0] = 1; break; case "katze": gewünschteAusgabe[1] = 1; break; default: gewünschteAusgabe[2] = 1; break; } DataSetRow trainingElement = new DataSetRow(input, gewünschteAusgabe); trainingSet.add(trainingElement); neuralNetwork.learn(trainingSet); System.out.println("Das neuronale Netzwerk wurde aktualisiert."); } } // Hilfsmethode zum Erstellen des Eingabevektors private static double[] createInputVector(String eingabe) { double[] input = new double[26]; for (int i = 0; i < eingabe.length(); i++) { char c = eingabe.charAt(i); if (c >= 'a' && c <= 'z') { input[c - 'a'] = 1; } } return input; } // Hilfsmethode zum Bestimmen des Ergebnisses aus der Ausgabe des Netzwerks private static String bestimmeErgebnis(double[] output) { if (output[0] > output[1] && output[0] > output[2]) { return "Hund"; } else if (output[1] > output[0] && output[1] > output[2]) { return "Katze"; } else { return "nix"; } } } Here is the Output. For me it is crazy, that "Bello" belongs to "Hund", this means, that the program is learning fast as much as possible. run: Gib ein Wort ein: nix Das Programm schätzt, dass es sich um nix handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: nixxxxxxxxxxxxxxx Das Programm schätzt, dass es sich um nix handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Kot Das Programm schätzt, dass es sich um nix handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) Katze Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Kot Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Bulldogge Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) Hund Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Bulldogge Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Maunzi Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) Katze Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Maunzi Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Maunz Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Hamster Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) nix Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Hamster Das Programm schätzt, dass es sich um nix handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Tima Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Boris Das Programm schätzt, dass es sich um nix handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) Hund Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Boris Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Mieze Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Köter Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) n Um welches Tier handelt es sich korrekterweise? (Hund, Katze, nix) Hund Das neuronale Netzwerk wurde aktualisiert. Gib ein Wort ein: Köter Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Dogge Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Minna Das Programm schätzt, dass es sich um Katze handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein: Bello Das Programm schätzt, dass es sich um Hund handelt. War das Ergebnis korrekt? (Ja/Nein) j Gib ein Wort ein:
  6. Hi, with Java Netbeans 16, Ant under XP SP3 I try to build a program, that can decide if it is a dog (Hund) or cat (Katze). Input is only via keyboard. But without success. Output gives always the same value, which means, that the program does not learn. Any idea, what i make wrong Dietmar package tiere; import java.util.Scanner; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; public class Tiere { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); NeuralNetwork<?> neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 26, 20, 20, 1); DataSet trainingSet = new DataSet(26, 1); while (true) { System.out.println("Gib ein Wort ein:"); String eingabe = scanner.nextLine().toLowerCase(); double[] input = new double[26]; for (int i = 0; i < eingabe.length(); i++) { char c = eingabe.charAt(i); if (c >= 'a' && c <= 'z') { input[c - 'a'] = 1; } } double[] output = new double[1]; neuralNetwork.setInput(input); neuralNetwork.calculate(); output = neuralNetwork.getOutput(); System.out.println("Output: " + output[0]); String ergebnis = (output[0] < 0.5) ? "Hund" : "Katze"; System.out.println("Das Programm schätzt, dass es sich um " + ergebnis + " handelt."); System.out.println("War das Ergebnis korrekt? (Ja/Nein)"); String antwort = scanner.nextLine().toLowerCase(); if (antwort.startsWith("j")) { continue; } if (ergebnis.equals("Hund")) { output[0] = 1; } else { output[0] = 0; } DataSetRow trainingElement = new DataSetRow(input, output); trainingSet.add(trainingElement); neuralNetwork.learn(trainingSet); System.out.println("Das neuronale Netzwerk wurde aktualisiert."); } } }
  7. @kubadmck Here is first try. For win7 bit64 I have never done this hack before, so may be, that you get endless loop Dietmar https://ufile.io/mtx2ub7j
  8. @K4sum1 There are soso many different acpi.sys on the market, that I can prepare a special one for you with this hack, but I need for this the original acpi.sys Dietmar PS: Also in win8 and win7 this hack works.
  9. @K4sum1 All the acpi.sys from the 2003 family have much bigger problems with newer compis than the XP SP3 acpi.sys. Yes, the debug version is always bigger and so the Hex values at this places are different. But the idea for the hack stays the same, works in about 90% Dietmar
  10. @K4sum1 Here is DDB hack for acpi.sys XP SP2 bit64. Instead of jmp to bsod A5 (0x11, 0x08, yyy, zzz) when error in DDB, compi now makes NOP NOP and so sees DDB as always correct. Dietmar 1. E:\\acpihackkkk\acpi.sys: 328.192 Bytes 2. E:\acpi.sys: 328.192 Bytes Offsets: hexadez. 128: 07 A5 129: 9B 82 48277: 90 78 48278: 90 2E
  11. @K4sum1 You can use this hacked acpi.sys for DDB on any compi for XP SP2 bit64. The hack just makes sure, that if a device in DDB is not correct recogniced, the compi still boots XP SP2 to desktop, ignoring this device. When there is no problem with DDB on you compi, this acpi.sys works to 100% as an normal acpi.sys without this hack Dietmar
  12. @George King Yepp, this intelppm.sys for XP SP3 from you is exact what I miss. This your file you have to modd via this, which gives the intelppm.sys which I offer in post above Dietmar 1. F:\intelppmModModXPSP3ENUUSA\intelppmModModXPSP3\intelppm.sys: 36.352 Bytes 2. F:\INTELPPMenglOri\intelppmKing.sys: 36.352 Bytes Offsets: hexadez. 128: C8 94 129: A6 C8 3F76: 50 28 3F77: 21 20 3FCA: 50 74 3FCB: 21 1F 5091: 50 74 5132: 50 20 5133: 21 22
  13. @George King Yepp, this is not the complete hack for intelppm.sys. Can you send me your file intelppm.sys, I think it is USA language version XP SP3 Dietmar
  14. @George King I think, that this is the correct modded intelppm.sys for XP SP3, for to bring power consumption down as much as possible, thanks to @pappyN4 Dietmar intelppm.sys for XP SP3 https://ufile.io/sjr0z6sw
  15. @George King What is the latest intelppm.sys ENU, USA version for XP SP3 that you have? I think, we make a small mistake in power consumption hack for this. @pappyN4 brings me to this idea Dietmar
  16. Hi, 3DMark2001 is not running on Windows Server 2003 bit 32. On both versions, Standard and Datacenter. As far as I can check, everything else runs. Crazy, for sound I have to install Microsoft UAA device driver for 2003 and enable sound in Directx and in Services. Directx 9c is installed, graphikcard GT 730 works , dxdiag.exe tells, that all is ok. error.log from 3DMar2001 tells, that only Directx 6 is installed, but it needs Directx 8.1. Already I fake OS version in registry to XP SP3, does not help, this only helps for to install Nvidia graphik driver 344.11-desktop-winxp-32bit-international.exe Any ideas Dietmar EDIT: 3DMark 2003 runs all correct. Via Legacy Update I have all updates until 2015(!). error.log https://ufile.io/vfrxi8r1
  17. Next try for intelppm.sys to overcome the crazy power consumption. Intelppm.sys 5.2.3790.4143 (srv03_sp2_qfe.070831-1432) USA. Yesssaa, this works. Power consumption now 25 Watt, before 75 Watt. May be, that some powerstates want to go to win2000 powerstates, crazy, Dietmar https://ufile.io/75a3ypqp 1. F:\WindowsServer2003-KB941838-x86-ENU\SP2QFE\intelppm.sys: 36.864 Bytes 2. F:\WindowsServer2003-KB941838-x86-ENU\SP2QFE\intelppmhackkkkkk.sys: 36.864 Bytes Offsets: hexadez. 128: EF 23 129: D8 B3 3CF0: 68 90 3CF1: 2B 2C 3D44: B4 90 4E0D: B4 90 4EAE: 60 90 4EAF: 2D 2A
  18. Hi, does anybody know, how to start Legacy Update for win2003 r2 SP2 DataCenter x86 ? It shows me wrong win2003 r2 SP2 DataCenter 64 Bit and the green running bar stops running at the beginning Dietmar PS: Is there an Service Pack for this win2003 r2 SP2 DataCenter x86 version? EDIT: I just have to wait 30min..
  19. 1. F:\WindowsServer2003-KB2281309-x86-ENU\SP2QFE\halmacpi.dll: 119.808 Bytes 2. F:\WindowsServer2003-KB2281309-x86-ENU\SP2QFE\halmacpiTimerhackkk.dll: 119.808 Bytes Offsets: hexadez. 139: F5 67 13A: 01 02 14B83: 79 EB
  20. @XPRTM Thanks a lot, I get both *.exe Updates for wk2 bit32. Do you know a way, how I can extract those files alone to a folder, so that I can fetch only the wished drivers Dietmar
  21. @casdanic I just boot this w2k3 bit32 from Samsung nvme 970 Pro, with the nice nvme driver from @daniel_k Dietmar
  22. @casdanic When "smart" tells you, that something is not ok with your harddisk, this means, that your harddisk is dead already. I just check the Microsoft nvme from @daniel_k. It works with w2k3 bit32, when you use only the storport.sys (modded from win7) which is in the package for stornvme, also for Kai Sata Dietmar
  23. @casdanic This Microsoft nvme driver from @daniel_k works without additional driver. But I never tested it for w2k3 bit32. So maybe, there can be a conflict with the used storport.sys Dietmar https://ufile.io/dusx00yq
  24. @casdanic Yes, it boots from nvme but it is less stable compared with boot from HD. I dont know, why this happen, because we have already a lot of nvme drivers. Only the Microsoft nvme driver is stable. But for me, after few days of correct working, suddently Bsod appears. So, for any industrial production, to boot from nvme is not a good idea. But instead of this I noticed, that boot from Ram is very stable, no crash at all. I use for this the modified grub4dos from Kai Schtrom for to load XP to ram and this is ultrafast and rockstable Dietmar
  25. @casdanic My experience with Gigabyte motherboards is: When they introduce a new board, its Bios is faulty as much as possible. But with time, when some newer Bios versions are out for the same board, it becomes really nice. So, when you are not afraid of flashing Bios, you can make a try also, if there is a newer Bios for your board. But in past I kill a board from Asus, just with updating its original Bios to a newer version. For me, this story with much better Bios now is true for the Gigabyte z690 UD DDR4, which at the beginning even dont recognice any CD-Rom, no working Serial Port etc. Now it is really good and I make all Debug via its Serial Port of XP SP2 bit64 Dietmar
×
×
  • Create New...