"ne répond pas" vs "je réfléchis toujours"Je vais parfois mettre en place de très gros travaux sur JMP Pro 16 sur mon Macbook Pro (32 Go de RAM), et au bout de quelques minutes, mon Mac me dira "L'application ne répond pas", ce qui est confirmé par le Gestionnaire des tâches. Cependant, souvent, si la plate-forme particulière que j'utilise possède une barre d'état/de progression, je la verrai avancer (même si lentement). Est-il possible de savoir si le script est toujours en cours d'exécution ou si l'application a vraiment « abandonné », auquel cas je devrais relancer JMP ?
Dans le même ordre d'idées, il est étrange que je ne puisse pas "transférer" efficacement plus de RAM ou de CPU vers JMP Pro. À l'heure actuelle, j'ai une application bloquée pour un travail énorme (une analyse PLS avec plus de 100 000 prédicteurs), mais elle n'utilise que 4 Go de RAM et j'en ai beaucoup à revendre. J'ai l'impression qu'il y avait autrefois un moyen d'entrer et de modifier l'allocation de RAM. Quel est l'intérêt de toute cette RAM alors que mon Mac n'en utilise que 5 à 10 Go !? (désolé, cela pourrait être plus un problème Mac que JMP).
macOSIngénierie Qualité et ProcédésRe : « ne répond pas » ou « je réfléchis toujours »Merci à vous deux. J'ai installé JMP 64 bits. J'ai vu ce genre de boîte de légende de mise à jour astucieuse pour certains plug-ins que j'utilise, et c'est certainement très utile pour les gros travaux. J'ai JMP Pro 16 et l'EA3 pour JMP Pro 17. Je me demande s’ils pourraient être liés à la manière dont les progrès de l’un se reflètent dans l’autre ?
Mon problème semble être quelque peu spécifique à la plate-forme (et au problème) et témoigne de la nécessité d'une réduction des variables de réponse (sûrement un ÉNORME domaine de recherche et d'intérêt). Si j'exécute un très gros travail sous régression généralisée, cela me donnera une barre de progression. Pour les moindres carrés partiels, il m'affichera PARFOIS (mais pas toujours) un message de progression de "validation croisée pour trouver la meilleure dimension" mais pas tout le temps. Je pense que c'est en partie de ma faute, puisque j'ai confié à JMP Pro une tâche quelque peu peu pratique comme une sorte d'exercice de réflexion : 1 à 16 Y (c'est-à-dire pas trop) contre 500 000 X (factorielle de troisième ordre de 96 prédicteurs). Certains de ces termes de troisième ordre ont du sens à tester, mais certainement pas tous les 500 000. Mais bien sûr, supprimer manuellement 100 000 termes ne serait pas pratique, je peux donc essayer de réduire la complexité du modèle à l'aide du DOE ou peut-être en sélectionnant au hasard des sous-ensembles aléatoires des 96 prédicteurs à tester dans des factorielles d'ordre supérieur. J'envisage également d'utiliser l'écran du « meilleur sous-échantillon » ou même du prédicteur de Gen-Reg pour éliminer les termes non informatifs, mais je crains ensuite d'exclure un terme qui n'est pas utile en lui-même mais qui EST utile lors de l'interaction avec un autre terme. D'après l'excellent webinaire de Clay Barker hier, il semble que la sélection avancée élaguée et plusieurs autres méthodes d'estimation Gen-Reg font en fait quelque chose comme ceci, où elles considèrent l'interaction d'un nouveau terme avec un terme précédent, en le conservant s'il abaisse l'AICc ( ou quelle que soit la métrique de réponse que vous utilisez) et en l'excluant sinon, alors peut-être simplement en insérant les 96 prédicteurs (sans interactions ni quadratiques) dans Gen-Reg, en utilisant la sélection directe élaguée, identifiez la suite optimale de prédicteurs (qui sera idéalement < 96), puis tester les factorielles de 2e ou 3e ordre de celles de PLS ou Gen-Reg. Je vais essayer ça aujourd'hui.
Re : « ne répond pas » ou « je réfléchis toujours »Il y a aussi la commande caption :
n = 10000000;
for (i = 1, i <= n, i++,
x = i^2 + i;
if (mod(i, 10000) == 0,
caption("Iteration # " || char(i));
wait(0);
);
);
caption(remove);
wait(0);Re : « ne répond pas » ou « je réfléchis toujours »Salut @abmayfield ,
Pouvez-vous vérifier que la version 64 bits de JMP est installée ?
Quant aux scripts de surveillance : voici quelques idées. J'ai utilisé chacun d'eux dans différentes situations :
- Créez une fenêtre dans laquelle vous écrivez périodiquement des messages d'état, par exemple toutes les 10 000 itérations d'une boucle for, vous pouvez écrire une valeur dans la zone de texte, puis inclure « <
- Écrivez dans un fichier journal que vous pouvez surveiller avec un éditeur de texte. Vous pouvez également lire un fichier texte pour décider de continuer, donc de temps en temps, ouvrez un fichier et vérifiez s'il contient « stop ».Encore une fois, ne faites pas cela trop souvent.
- Pour les scripts très complexes, vous pouvez même utiliser une instance distincte de JMP pour surveiller la progression et même interagir avec votre script, voir Communication socket pour obtenir et enregistrer les messages des scripts JMP, R et Python .Une copie de JMP (un client) peut effectuer le travail et envoyer des messages à une autre instance de JMP (un serveur).Vous pouvez ensuite surveiller le processus sur le serveur, ou le client peut demander au serveur à chaque fois s'il doit continuer ou s'arrêter correctement si vous souhaitez vous arrêter plus tôt.Cela peut même fonctionner avec plusieurs clients sur différents ordinateurs travaillant sur des parties distinctes d'une analyse.