加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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.如何在没有错误的情况下运行代码.
我安装了qt-binding并为我的PyCharm添加了tensorflow.

任何帮助将不胜感激.

解决方法

确保安装了PyQt5.你可以打开一个python shell并尝试:

import PyQt5

如果失败,那么您可以通过以下方式安装它:

pip install PyQt5

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读