ImportError:无法导入任何qt绑定,Python – Tensorflow
发布时间:2020-12-20 12:38:57 所属栏目:Python 来源:网络整理
导读:我正在使用Tensorflow开始冒险.我想我已正确安装了所有内容,但在运行此代码时,PyCharm会返回错误: Traceback (most recent call last): File "C:/Users/tymot/Desktop/myenv3/env/Tensorflow/all_good.py",line 15,in module import matplotlib.pyplot as p
我正在使用Tensorflow开始冒险.我想我已正确安装了所有内容,但在运行此代码时,PyCharm会返回错误:
Traceback (most recent call last): File "C:/Users/tymot/Desktop/myenv3/env/Tensorflow/all_good.py",line 15,in <module> import matplotlib.pyplot as plt File "C:UserstymotAnaconda1libsite-packagesmatplotlibpyplot.py",line 115,in <module> _backend_mod,new_figure_manager,draw_if_interactive,_show = pylab_setup() File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackends__init__.py",line 62,in pylab_setup [backend_name],0) File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackendsbackend_qt5agg.py",in <module> from .backend_qt5 import ( File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackendsbackend_qt5.py",line 19,in <module> import matplotlib.backends.qt_editor.figureoptions as figureoptions File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackendsqt_editorfigureoptions.py",line 20,in <module> import matplotlib.backends.qt_editor.formlayout as formlayout File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackendsqt_editorformlayout.py",line 54,in <module> from matplotlib.backends.qt_compat import QtGui,QtWidgets,QtCore File "C:UserstymotAnaconda1libsite-packagesmatplotlibbackendsqt_compat.py",line 158,in <module> raise ImportError("Failed to import any qt binding") ImportError: Failed to import any qt binding 我正在尝试运行的代码: import numpy as np import tensorflow as tf import matplotlib.pyplot as plt num_features = 2 num_iter = 10000 display_step = int(num_iter / 10) learning_rate = 0.01 num_input = 2 # units in the input layer 28x28 images num_hidden1 = 2 # units in the first hidden layer num_output = 1 # units in the output,only one output 0 or 1 #%% mlp function def multi_layer_perceptron_xor(x,weights,biases): hidden_layer1 = tf.add(tf.matmul(x,weights['w_h1']),biases['b_h1']) hidden_layer1 = tf.nn.sigmoid(hidden_layer1) out_layer = tf.add(tf.matmul(hidden_layer1,weights['w_out']),biases['b_out']) return out_layer #%% x = np.array([[0,0],[0,1],[1,1]],np.float32) # 4x2,input y = np.array([0,1,np.float32) # 4,correct output,AND operation y = np.reshape(y,[4,1]) # convert to 4x1 # trainum_inputg data and labels X = tf.placeholder('float',[None,num_input]) # training data Y = tf.placeholder('float',num_output]) # labels # weights and biases weights = { 'w_h1' : tf.Variable(tf.random_normal([num_input,num_hidden1])),# w1,from input layer to hidden layer 1 'w_out': tf.Variable(tf.random_normal([num_hidden1,num_output])) # w2,from hidden layer 1 to output layer } biases = { 'b_h1' : tf.Variable(tf.zeros([num_hidden1])),'b_out': tf.Variable(tf.zeros([num_output])) } model = multi_layer_perceptron_xor(X,biases) ''' - cost function and optimization - sigmoid cross entropy -- single output - softmax cross entropy -- multiple output,normalized ''' loss_func = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(logits=model,labels=Y)) optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(loss_func) sess = tf.Session() init = tf.global_variables_initializer() sess.run(init) for k in range(num_iter): tmp_cost,_ = sess.run([loss_func,optimizer],feed_dict={X: x,Y: y}) if k % display_step == 0: #print('output: ',sess.run(model,feed_dict={X:x})) print('loss= ' + "{:.5f}".format(tmp_cost)) # separates the input space W = np.squeeze(sess.run(weights['w_h1'])) # 2x2 b = np.squeeze(sess.run(biases['b_h1'])) # 2,sess.close() #%% # Now plot the fitted line. We need only two points to plot the line plot_x = np.array([np.min(x[:,0] - 0.2),np.max(x[:,1]+0.2)]) plot_y = -1 / W[1,0] * (W[0,0] * plot_x + b[0]) plot_y = np.reshape(plot_y,[2,-1]) plot_y = np.squeeze(plot_y) plot_y2 = -1 / W[1,1] * (W[0,1] * plot_x + b[1]) plot_y2 = np.reshape(plot_y2,-1]) plot_y2 = np.squeeze(plot_y2) plt.scatter(x[:,x[:,c=y,s=100,cmap='viridis') plt.plot(plot_x,plot_y,color='k',linewidth=2) # line 1 plt.plot(plot_x,plot_y2,linewidth=2) # line 2 plt.xlim([-0.2,1.2]); plt.ylim([-0.2,1.25]); #plt.text(0.425,1.05,'XOR',fontsize=14) plt.xticks([0.0,0.5,1.0]); plt.yticks([0.0,1.0]) plt.show() #%% 我认为它遵循另一个版本的python.如何在没有错误的情况下运行代码. 任何帮助将不胜感激. 解决方法
确保安装了PyQt5.你可以打开一个python shell并尝试:
import PyQt5 如果失败,那么您可以通过以下方式安装它: pip install PyQt5 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |