Maison >développement back-end >Tutoriel Python >Comment faire en sorte que pydev dans Eclipse ignore ces erreurs de compilation pour cela
#1. Le programme suivant est le début d'un code de réseau neuronal tensorflow, utilisé pour illustrer comment rendre simplement la version TF compatible et comment ignorer les erreurs de compilation dans pydev pour exécuter
#2. Parce que la version TF n'est pas encore stable, les différences entre les différentes versions ne sont pas minimes. Il existe de nombreux programmes Python de différentes versions de TF telles que 0.10.0, 0.11.0, 1.0.1 sur github, donc votre local. l'environnement est le même. Il est facile de trouver les problèmes les uns après les autres en utilisant py et tf.
#3. Ce qui suit est une solution simple. Utilisez la structure try...sauf pour rendre la version tf compatible. De cette façon, vous n'avez pas besoin de modifier chaque fonction du code, et de faire un peu de jugement et de jugement. conversion lors de l’activation. Par exemple, dans le jugement suivant des fonctions "scalar_summary" et "concat_v2", si l'ancien et le nouveau TF sont différents, la compatibilité peut être établie ici, tandis que le corps principal du programme reste fondamentalement inchangé.
#4. Mais nous avons rencontré un problème. Cette structure try...sauf signalera une erreur (ligne ondulée rouge) dans Eclipse+pydev. On peut facilement penser que c'est le compilateur pydev pour nous aider. Lors du traitement, il détecte le problème et le signale avec une ligne d'erreur ondulée rouge. Tant que nous entrons dans le menu "windows-->Préférences-->PyDev-->Editor-->analyse de code", ajustez le niveau de traitement dans les onglets "non défini" et "importer" à droite , remplacez " Changez simplement l'erreur " par " avertissement ". Enfin, sélectionnez le fichier "abc.py" dans Eclipse, cliquez avec le bouton droit sur le menu et sélectionnez "pydev -> analyse de code" pour recompiler et analyser les codes. L'erreur de ligne ondulée rouge disparaîtra et l'ensemble du programme pourra être exécuté.
====================================== == ===
depuis tensorflow.python.framework import ops
depuis utils import *
importer tensorflow en tant que tf
importer math
importer numpy en tant que np
# L'essai suivant gère les problèmes de compatibilité des versions TF via des exceptions ! ! !
#Voici une idée pour être compatible avec les différences entre les anciens et les nouveaux formats de TF, simple mais pratique !
essayez :
#import tensorflow as tf
#Ancien format TF
image_summary = tf.image_summary
scalar_summary = tf.scalar_summary
histogram_summary = tf.histogram_summary
merge_summary = tf.merge_summary
SummaryWriter = tf.train.SummaryWriter
sauf :
#Ce qui suit est le nouveau format du nouveau TF Si l'ANCIEN format dans TRY échoue, utilisez le nouveau format
image_summary ; = tf.summary.image
scalar_summary = tf.summary.scalar
histogram_summary = tf.summary.histogram
merge_summary = tf.summary.merge
SummaryWriter = tf.summary.FileWriter
if "concat_v2" dans dir(tf):
def concat(tensors, axis, *args, **kwargs):
return tf.concat_v2(tensors, axis, *args, **kwargs)
else :
def concat(tensors, axis, *args, **kwargs):
return tf.concat(tensors, axis, *args, **kwargs)
#....Le code logique suivant est ignoré et n'a rien à voir avec le sujet de cet article...
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!