Déclaration d'une matrice avec une grande taille 65000x65000
Fermé
brahim1988
Messages postés
170
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 mai 2020
-
15 juin 2014 à 00:36
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 26 juin 2014 à 21:19
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 26 juin 2014 à 21:19
A voir également:
- Déclaration d'une matrice avec une grande taille 65000x65000
- Comment réduire la taille d'un fichier - Guide
- Comment reduire la taille d'une photo - Guide
- Photo trop grande pour fond d'écran smartphone ✓ - Forum Samsung
- Taille 32x32 correspondance ✓ - Forum Consommation & Internet
- Comment faire une grande photo sur instagram - Guide
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 15/06/2014 à 00:44
Modifié par gravgun le 15/06/2014 à 00:44
'lut, en considérant que le contenu de ta matrice c'est des entiers de 32 bits ou nombres flottants précision simple, ça nous fait
Bonne chance! Déjà faut avoir la RAM pour, puis faut un PC 64 bits.
Et quoi qu'il en soit je pense que ça sera très difficile d'allouer tout ça...
Je ne sais pas pourquoi tu veux une matrice si grande, mais je te conseille vivement de mettre cette matrice en morceaux, quelle que soit l'utilisation. Si tu programmes pour un système UNIX (Linux, MacOS, ...) tu peux tenter
from human import idiocy
del idiocy
65000*65000*4...
= 16900000000 octets = 16.9 Go
Bonne chance! Déjà faut avoir la RAM pour, puis faut un PC 64 bits.
Et quoi qu'il en soit je pense que ça sera très difficile d'allouer tout ça...
Je ne sais pas pourquoi tu veux une matrice si grande, mais je te conseille vivement de mettre cette matrice en morceaux, quelle que soit l'utilisation. Si tu programmes pour un système UNIX (Linux, MacOS, ...) tu peux tenter
mmapqui te permettra d'allouer tout ça. Sur Windows, en revanche, je sais pas trop, regarde sur le MSDN.
from human import idiocy
del idiocy
brahim1988
Messages postés
170
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 mai 2020
8
16 juin 2014 à 11:45
16 juin 2014 à 11:45
bonjour
je l' ai besoin pour déclarer une matrice de distance d'une image (256x256)pxl
donc 2^16 pixels X 2^16 pixels!!
je l' ai besoin pour déclarer une matrice de distance d'une image (256x256)pxl
donc 2^16 pixels X 2^16 pixels!!
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
16 juin 2014 à 13:27
16 juin 2014 à 13:27
Je suis qu'en 1ere (bientot Terminale), mais d'apès ce que j'ai pu lire, les matrices de distance c'est pour avoir la distance entre un ensemble de points... Et ces points, tu les as où? C'est chaque pixel de l'image?
brahim1988
Messages postés
170
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 mai 2020
8
16 juin 2014 à 15:07
16 juin 2014 à 15:07
oui les distances entre chaques pixels avec tous les autres, par exp:
une image(3x3)pixel c-a-d on a 9 pixels et on va faire la matrice de distance comme suit:
p(0,0)=0, p(0,1)=22,......................................p(0,9)=100
p(1.0)=45 p(1,1)=0.........................................p(1,9)=99
.
.
.
.p(9,0)=100 p(9,1)=99................................ ..p(9,9)=0
une image(3x3)pixel c-a-d on a 9 pixels et on va faire la matrice de distance comme suit:
p(0,0)=0, p(0,1)=22,......................................p(0,9)=100
p(1.0)=45 p(1,1)=0.........................................p(1,9)=99
.
.
.
.p(9,0)=100 p(9,1)=99................................ ..p(9,9)=0
EGP-Swyx
Messages postés
6664
Date d'inscription
dimanche 18 mars 2012
Statut
Contributeur
Dernière intervention
7 janvier 2019
625
Modifié par EGP-Swyx le 16/06/2014 à 15:30
Modifié par EGP-Swyx le 16/06/2014 à 15:30
Donc t'as 2^16px
Soit 65536px
Donc la matrice fait 65536*65536.
t'as intérêt à bien choisir ton encodage....
char c'est trop court (distance max de 255)
et int c'est trop gros (32bits yahoo)
l'idéal c'est de la coder sur 8 bits.
4Go nécessaire pour éxecuter le truc.
Maintenant si t'es futé et surtout que t'as pas beacoup de ram,tu peux diviser la consommation à mort.
Génère une string de 65536 de long avec des shortint dedans.
65536*4 = 256kio
tu sort ta ligne dans un fichier
Puis tu vas te rendre compte que plus ça va, moins tu vas avoir besoin de calculer.
pour le point 1, tu calcule de 2 à 65536
pour le point 2, tu calcule de 3 à 65536
pour le point 3, tu calcule de 4 à 65536
De ce fait, tu mange de moins en moins de mémoire.
Au final ton tableau ne mangera que a moitié de la mémoire qu'il devrait manger.
J'ai perdu qui?
Soit 65536px
Donc la matrice fait 65536*65536.
t'as intérêt à bien choisir ton encodage....
char c'est trop court (distance max de 255)
et int c'est trop gros (32bits yahoo)
l'idéal c'est de la coder sur 8 bits.
4Go nécessaire pour éxecuter le truc.
Maintenant si t'es futé et surtout que t'as pas beacoup de ram,tu peux diviser la consommation à mort.
Génère une string de 65536 de long avec des shortint dedans.
65536*4 = 256kio
tu sort ta ligne dans un fichier
Puis tu vas te rendre compte que plus ça va, moins tu vas avoir besoin de calculer.
pour le point 1, tu calcule de 2 à 65536
pour le point 2, tu calcule de 3 à 65536
pour le point 3, tu calcule de 4 à 65536
De ce fait, tu mange de moins en moins de mémoire.
Au final ton tableau ne mangera que a moitié de la mémoire qu'il devrait manger.
J'ai perdu qui?
brahim1988
Messages postés
170
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 mai 2020
8
16 juin 2014 à 16:28
16 juin 2014 à 16:28
mais pour stocker par exemple cette distance "444.2361" dans un fichier txt j'ai besoin de 9ko donc on tous (65536*65536*9)/2 Kio!!!!!
EGP-Swyx
Messages postés
6664
Date d'inscription
dimanche 18 mars 2012
Statut
Contributeur
Dernière intervention
7 janvier 2019
625
16 juin 2014 à 16:30
16 juin 2014 à 16:30
tu stocke les distances en float?