Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-01-2012, 15:43   #1
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
[java] Wrapper per convertire un booleano in un numero

Salve ragazzi devo fare un programmino di intelligenza artificiale che prende in input un file formato arff per poi lavorarci sopra.
Per chi non lo sapesse tale file è una sorta di tab excel con un header e al suo interno sotto il nome di ogni attributo ha il valore di istanza TRUE o FALSE...
il problema è che questo troiaio lo prendo in input ed è quindi difficile gestirlo... pensavo quindi di trasformare questi attributi booleani in numerici per poi trattare il file come fosse una matrice...

Qualcuno mi sa aiutare?
Grazie mille in anticipo!!!
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 10:59   #2
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
Ragazzi chiedo aiuto per la gestione di questo file...
io mi trovo di fronte ad un file con intestazione, che devo saltare, dopo di che devo analizzare il contenuto. Questo consta di una seri di colonne le quali hanno vari attributi che possono essere numerici come stringhe come booleani. Io devo prendere tutti questi attributi e trasformali in numerici e splittare sulle virgole. In sostanza quello che voglio è che il file mi si trasformi in una matrice numerica da gestire poi in modo normale... qualcuno mi sa dare una mano???
Grazie
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 11:49   #3
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Idea di massima:

Codice:
import java.io.*;

class FileRead {
	public static void main(String args[]) { 

		try {

			FileInputStream fstream = new FileInputStream("asd.txt");
			DataInputStream in = new DataInputStream(fstream);
			BufferedReader br = new BufferedReader(new InputStreamReader(in));
			
			String strLine;
			int lineNumber = 0;
			
			int array[] = new int[100];

			while ((strLine = br.readLine()) != null) {
				
				if (lineNumber++ == 0)
					continue;
				
				String[] stringArray = strLine.split(",");
				
				for (int i = 0; i < stringArray.length; ++i){
					array[i] = Integer.parseInt(stringArray[i]);
					System.out.println(i + ":" + array[i]);
				}
				
			}
			in.close();
		} catch (Exception e) {
			System.err.println("Error: " + e.getMessage());
		}
	}
}
L'ho scritta al volo partendo da questo esempio, ovviamente si basa sul fatto che tutti i valori contenuti nel file siano int.
Devi modificarlo in modo che gestisca la memorizzazione nella tua matrice finale.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 12:07   #4
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
Quote:
Originariamente inviato da GByTe87 Guarda i messaggi
Idea di massima:

Codice:
import java.io.*;

class FileRead {
	public static void main(String args[]) { 

		try {

			FileInputStream fstream = new FileInputStream("asd.txt");
			DataInputStream in = new DataInputStream(fstream);
			BufferedReader br = new BufferedReader(new InputStreamReader(in));
			
			String strLine;
			int lineNumber = 0;
			
			int array[] = new int[100];

			while ((strLine = br.readLine()) != null) {
				
				if (lineNumber++ == 0)
					continue;
				
				String[] stringArray = strLine.split(",");
				
				for (int i = 0; i < stringArray.length; ++i){
					array[i] = Integer.parseInt(stringArray[i]);
					System.out.println(i + ":" + array[i]);
				}
				
			}
			in.close();
		} catch (Exception e) {
			System.err.println("Error: " + e.getMessage());
		}
	}
}
L'ho scritta al volo partendo da questo esempio, ovviamente si basa sul fatto che tutti i valori contenuti nel file siano int.
Devi modificarlo in modo che gestisca la memorizzazione nella tua matrice finale.


Innanzi tutto grazie mille...siccome sono veramente niubbo in java e mi è stato dato un progetto per me difficile ti chiedo ancora aiuto...
ti posto il file:
Codice:
@relation zoo

@attribute animal {aardvark,antelope,bass,bear,boar,buffalo,calf,carp,catfish,cavy,cheetah,chicken,chub,clam,crab,crayfish,crow,deer,dogfish,dolphin,dove,duck,elephant,flamingo,flea,frog,fruitbat,giraffe,girl,gnat,goat,gorilla,gull,haddock,hamster,hare,hawk,herring,honeybee,housefly,kiwi,ladybird,lark,leopard,lion,lobster,lynx,mink,mole,mongoose,moth,newt,octopus,opossum,oryx,ostrich,parakeet,penguin,pheasant,pike,piranha,pitviper,platypus,polecat,pony,porpoise,puma,pussycat,raccoon,reindeer,rhea,scorpion,seahorse,seal,sealion,seasnake,seawasp,skimmer,skua,slowworm,slug,sole,sparrow,squirrel,starfish,stingray,swan,termite,toad,tortoise,tuatara,tuna,vampire,vole,vulture,wallaby,wasp,wolf,worm,wren}
@attribute hair {false,true}
@attribute feathers {false,true}
@attribute eggs {false,true}
@attribute milk {false,true}
@attribute airborne {false,true}
@attribute aquatic {false,true}
@attribute predator {false,true}
@attribute toothed {false,true}
@attribute backbone {false,true}
@attribute breathes {false,true}
@attribute venomous {false,true}
@attribute fins {false,true}
@attribute legs numeric
@attribute tail {false,true}
@attribute domestic {false,true}
@attribute catsize {false,true}
@attribute type {mammal,bird,reptile,fish,amphibian,insect,invertebrate}

@data
aardvark,true,false,false,true,false,false,true,true,true,true,false,false,4,false,false,true,mammal
antelope,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
bass,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
bear,true,false,false,true,false,false,true,true,true,true,false,false,4,false,false,true,mammal
boar,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
buffalo,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
calf,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
carp,false,false,true,false,false,true,false,true,true,false,false,true,0,true,true,false,fish
catfish,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
cavy,true,false,false,true,false,false,false,true,true,true,false,false,4,false,true,false,mammal
cheetah,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
chicken,false,true,true,false,true,false,false,false,true,true,false,false,2,true,true,false,bird
chub,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
clam,false,false,true,false,false,false,true,false,false,false,false,false,0,false,false,false,invertebrate
crab,false,false,true,false,false,true,true,false,false,false,false,false,4,false,false,false,invertebrate
crayfish,false,false,true,false,false,true,true,false,false,false,false,false,6,false,false,false,invertebrate
crow,false,true,true,false,true,false,true,false,true,true,false,false,2,true,false,false,bird
deer,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
dogfish,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,true,fish
dolphin,false,false,false,true,false,true,true,true,true,true,false,true,0,true,false,true,mammal
dove,false,true,true,false,true,false,false,false,true,true,false,false,2,true,true,false,bird
duck,false,true,true,false,true,true,false,false,true,true,false,false,2,true,false,false,bird
elephant,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
flamingo,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,true,bird
flea,false,false,true,false,false,false,false,false,false,true,false,false,6,false,false,false,insect
frog,false,false,true,false,false,true,true,true,true,true,false,false,4,false,false,false,amphibian
frog,false,false,true,false,false,true,true,true,true,true,true,false,4,false,false,false,amphibian
fruitbat,true,false,false,true,true,false,false,true,true,true,false,false,2,true,false,false,mammal
giraffe,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
girl,true,false,false,true,false,false,true,true,true,true,false,false,2,false,true,true,mammal
gnat,false,false,true,false,true,false,false,false,false,true,false,false,6,false,false,false,insect
goat,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
gorilla,true,false,false,true,false,false,false,true,true,true,false,false,2,false,false,true,mammal
io praticamente devo mettere questo coso in una matrice numerica per poi mandarla in input ad un alg di apprendimento che poi mi dia delle predizioni se gli inserisco un input sconosciuto.
i miei file txt si trovano in src

e il troiaio di codice mio era questo:

Codice:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
	
	
public class reader {


public reader() throws IOException{
		
		FileReader fileReader = new FileReader("src/zoo.txt");
		  BufferedReader fileBufereReader = new BufferedReader(fileReader ); 
		  ArrayList<String> blah = new ArrayList<String>();
		 
		 String s = fileBufereReader .readLine();

		  while(s!=null){
		    blah.add(s);
		    s = fileBufereReader .readLine();
		    String[] array= s.split(",");
		    for (int i=0; i<array.length; i++){
				System.out.println("\n" + array[i]);
				}
		  }
non so se mi sono spiegato...
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 12:13   #5
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
ah...ho continuato la programmazione a bestia :
Codice:
  while(s!=null){
		    blah.add(s);
		    s = fileBufereReader .readLine();
		    String[] array= s.split(",");
		    for (int i=0; i<array.length; i++){
		    	if (array[i].equals("true")){
			  array[i]="1";
		  }
		    	else if (array[i].equals("false")){
					  array[i]="0";
				  }
				System.out.println("\n" + array[i]);
				}
		  }
ora mi sostituisco i true e i false
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 12:16   #6
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Più tardi butto un'occhio, al volo però ti consiglio di usare sempre le funzioni già messe a disposizione dalla libreria per le conversioni.

Es, per passare da String a boolean... http://docs.oracle.com/javase/1.5.0/...lang.String%29
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 12:34   #7
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
ok grazie mille cmq a me nella fattispecie non mi serve passare da stringa a booleano quanto a numerico!
Sai se avessi solo file con true e false basterebbe un if come ho messo ma ho anche altri valori numerici che devono restare tali poi devo gestire i nomi, devono essere trasformati in numeri pure loro, o anche altri caratteri ascii
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 12:37   #8
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Quote:
Originariamente inviato da Solido Guarda i messaggi
ok grazie mille cmq a me nella fattispecie non mi serve passare da stringa a booleano quanto a numerico!
Sai se avessi solo file con true e false basterebbe un if come ho messo ma ho anche altri valori numerici che devono restare tali poi devo gestire i nomi, devono essere trasformati in numeri pure loro, o anche altri caratteri ascii
Capisco, un noioso bagno di sangue.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 20:41   #9
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2795
Se ho capito bene il problema, potresti creare una tabella dei simboli.
Se vuoi che true e false valgano 1 e 0 li inserisci preventivamente nella tabella, quindi:
"false" -> 0
"true" -> 1
dopodiché leggi tutti i tuoi token (quindi numeri o parole e non so cos'altro) e se sono già presenti nella tabella, la interroghi e li traduci in numero, altrimenti gli assegni un numero progressivo e li inserisci in tabella.
Esempio, ho i seguenti token e la tabella di sopra:
animal,aardvark,true,animal
- animal non è in tabella, lo inserisco con numero 2 e lo traduco in 2
- aardvark non è in tabella, lo inserisco con numero 3 e lo traduco in 3
- true è in tabella, lo traduco in 1
- animal è in tabella, lo traduco in 2
- risultato: 2,3,1,2

Questo a grandi linee... forse i numeri dovranno restare tali, quindi dovrai stare attento a che non ci siano 2 simboli (una parola ed un numero) con assegnato lo stesso valore
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2012, 21:19   #10
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Stai usando questo metodo? Forse potrebbe esserti utile

http://docs.oracle.com/javase/6/docs...va.lang.String)
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2012, 13:14   #11
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Se ho capito bene il problema, potresti creare una tabella dei simboli.
Se vuoi che true e false valgano 1 e 0 li inserisci preventivamente nella tabella, quindi:
"false" -> 0
"true" -> 1
dopodiché leggi tutti i tuoi token (quindi numeri o parole e non so cos'altro) e se sono già presenti nella tabella, la interroghi e li traduci in numero, altrimenti gli assegni un numero progressivo e li inserisci in tabella.
Esempio, ho i seguenti token e la tabella di sopra:
animal,aardvark,true,animal
- animal non è in tabella, lo inserisco con numero 2 e lo traduco in 2
- aardvark non è in tabella, lo inserisco con numero 3 e lo traduco in 3
- true è in tabella, lo traduco in 1
- animal è in tabella, lo traduco in 2
- risultato: 2,3,1,2

Questo a grandi linee... forse i numeri dovranno restare tali, quindi dovrai stare attento a che non ci siano 2 simboli (una parola ed un numero) con assegnato lo stesso valore
Ciao grazie mille... avevo pensato anche io a questa soluzione...
però non saprei come partire... sai che classi e metodi usare?
come si aggiungono i valori alla tabella?
grazie mille
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2012, 13:51   #12
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2795
Per la tabella userei una HashMap<String, Integer>, oppure un'altra implementazione di Map.

http://docs.oracle.com/javase/1.5.0/.../util/Map.html
http://docs.oracle.com/javase/1.5.0/...l/HashMap.html

Per il resto non so a quali problemi potresti andare incontro, inizia a scrivere qualcosa e vediamo...
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2012, 18:29   #13
Solido
Senior Member
 
L'Avatar di Solido
 
Iscritto dal: Jan 2004
Città: Figline(FI)
Messaggi: 5847
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Per la tabella userei una HashMap<String, Integer>, oppure un'altra implementazione di Map.

http://docs.oracle.com/javase/1.5.0/.../util/Map.html
http://docs.oracle.com/javase/1.5.0/...l/HashMap.html

Per il resto non so a quali problemi potresti andare incontro, inizia a scrivere qualcosa e vediamo...
quindi poichè io ho tutto il file in s con un for metto tutti i token dentro la mia tabella incrementando un indice che mi scorre il file?
__________________
Ho concluso felicemente molte trattative su questo forum!
Solido è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Record assoluto per Linux 7.4: quasi mez...
Datacenter “standard” esonerato dalla va...
Occhio ai consumi: nuovi limiti condivis...
Ericsson ISAC System, la tecnologia per ...
Comprano processori solo per gettarli: l...
Canva lancia Affinity per iPad: sketch, ...
Revolut abbandona OpenAI e Anthropic com...
Xbox Game Pass, tante novità in arrivo i...
Un Googlebook in formato Surface Pro: Le...
Windows 11 non permetterà mai di spostar...
Snowflake porta gli agenti IA dentro il ...
SUSE taglia circa 190 persone, e il CEO ...
Apple Watch Series 12, ribasso di 200€ s...
BMW sfida Tesla FSD: la guida assistita ...
Intel potrebbe interrompere la produzion...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v