Python+PyQt5实现“灭霸响指”命令 !

PyQt5实现多文件调用以及UI和逻辑分离 逻辑代码页转自作为一个使用C++开发QT五年的“老”程序猿,总觉得使用C++开发GUI,是一个很费时费力或者说没有“钱”途的事情,因为现在有大量的轻量化的编程语言可以做很绚丽的交互界面,所以笔者现在逐渐向Python转移,逐渐使用PyQt5开发Qt项目,作为一个python新手,请大家多多指教。 阅读详情

之前在GitHub有趣分享:Thanos(灭霸命令)中分享了有趣的“灭霸命令”,本博文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~

 

 

 

 

 

Python资源共享群:626017123

GUI实现代码如下:

  •  
# -*- coding: utf-8 -*-from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(766, 760)        self.centralwidget = QtWidgets.QWidget(MainWindow)        self.centralwidget.setObjectName("centralwidget")        self.btn_start = QtWidgets.QPushButton(self.centralwidget)        self.btn_start.setGeometry(QtCore.QRect(60, 10, 111, 101))        self.btn_start.setStyleSheet("background-color: rgba(255, 255, 255, 0);")        self.btn_start.setText("")        self.btn_start.setObjectName("btn_start")        self.widget = QtWidgets.QWidget(self.centralwidget)        self.widget.setGeometry(QtCore.QRect(60, 120, 631, 441))        self.widget.setObjectName("widget")        self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)        self.verticalLayout.setContentsMargins(0, 0, 0, 0)        self.verticalLayout.setObjectName("verticalLayout")        self.horizontalLayout = QtWidgets.QHBoxLayout()        self.horizontalLayout.setObjectName("horizontalLayout")        self.label_1 = QtWidgets.QLabel(self.widget)        self.label_1.setAlignment(QtCore.Qt.AlignCenter)        self.label_1.setObjectName("label_1")        self.horizontalLayout.addWidget(self.label_1)        self.label_2 = QtWidgets.QLabel(self.widget)        self.label_2.setAlignment(QtCore.Qt.AlignCenter)        self.label_2.setObjectName("label_2")        self.horizontalLayout.addWidget(self.label_2)        self.label_3 = QtWidgets.QLabel(self.widget)        self.label_3.setAlignment(QtCore.Qt.AlignCenter)        self.label_3.setObjectName("label_3")        self.horizontalLayout.addWidget(self.label_3)        self.label_4 = QtWidgets.QLabel(self.widget)        self.label_4.setAlignment(QtCore.Qt.AlignCenter)        self.label_4.setObjectName("label_4")        self.horizontalLayout.addWidget(self.label_4)        self.verticalLayout.addLayout(self.horizontalLayout)        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()        self.horizontalLayout_2.setObjectName("horizontalLayout_2")        self.label_5 = QtWidgets.QLabel(self.widget)        self.label_5.setAlignment(QtCore.Qt.AlignCenter)        self.label_5.setObjectName("label_5")        self.horizontalLayout_2.addWidget(self.label_5)        self.label_6 = QtWidgets.QLabel(self.widget)        self.label_6.setAlignment(QtCore.Qt.AlignCenter)        self.label_6.setObjectName("label_6")        self.horizontalLayout_2.addWidget(self.label_6)        self.label_7 = QtWidgets.QLabel(self.widget)        self.label_7.setAlignment(QtCore.Qt.AlignCenter)        self.label_7.setObjectName("label_7")        self.horizontalLayout_2.addWidget(self.label_7)        self.label_8 = QtWidgets.QLabel(self.widget)        self.label_8.setAlignment(QtCore.Qt.AlignCenter)        self.label_8.setObjectName("label_8")        self.horizontalLayout_2.addWidget(self.label_8)        self.verticalLayout.addLayout(self.horizontalLayout_2)        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()        self.horizontalLayout_3.setObjectName("horizontalLayout_3")        self.label_9 = QtWidgets.QLabel(self.widget)        self.label_9.setAlignment(QtCore.Qt.AlignCenter)        self.label_9.setObjectName("label_9")        self.horizontalLayout_3.addWidget(self.label_9)        self.label_10 = QtWidgets.QLabel(self.widget)        self.label_10.setAlignment(QtCore.Qt.AlignCenter)        self.label_10.setObjectName("label_10")        self.horizontalLayout_3.addWidget(self.label_10)        self.label_11 = QtWidgets.QLabel(self.widget)        self.label_11.setAlignment(QtCore.Qt.AlignCenter)        self.label_11.setObjectName("label_11")        self.horizontalLayout_3.addWidget(self.label_11)        self.label_12 = QtWidgets.QLabel(self.widget)        self.label_12.setAlignment(QtCore.Qt.AlignCenter)        self.label_12.setObjectName("label_12")        self.horizontalLayout_3.addWidget(self.label_12)        self.verticalLayout.addLayout(self.horizontalLayout_3)        self.widget1 = QtWidgets.QWidget(self.centralwidget)        self.widget1.setGeometry(QtCore.QRect(220, 570, 321, 151))        self.widget1.setObjectName("widget1")        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget1)        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)        self.horizontalLayout_4.setObjectName("horizontalLayout_4")        self.label_13 = QtWidgets.QLabel(self.widget1)        self.label_13.setAlignment(QtCore.Qt.AlignCenter)        self.label_13.setObjectName("label_13")        self.horizontalLayout_4.addWidget(self.label_13)        self.label_14 = QtWidgets.QLabel(self.widget1)        self.label_14.setAlignment(QtCore.Qt.AlignCenter)        self.label_14.setObjectName("label_14")        self.horizontalLayout_4.addWidget(self.label_14)        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtWidgets.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 766, 26))        self.menubar.setObjectName("menubar")        MainWindow.setMenuBar(self.menubar)         self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)     def retranslateUi(self, MainWindow):        _translate = QtCore.QCoreApplication.translate        MainWindow.setWindowTitle(_translate("MainWindow", "FPO"))        self.label_1.setText(_translate("MainWindow", "1"))        self.label_2.setText(_translate("MainWindow", "1"))        self.label_3.setText(_translate("MainWindow", "1"))        self.label_4.setText(_translate("MainWindow", "1"))        self.label_5.setText(_translate("MainWindow", "1"))        self.label_6.setText(_translate("MainWindow", "1"))        self.label_7.setText(_translate("MainWindow", "1"))        self.label_8.setText(_translate("MainWindow", "1"))        self.label_9.setText(_translate("MainWindow", "1"))        self.label_10.setText(_translate("MainWindow", "1"))        self.label_11.setText(_translate("MainWindow", "1"))        self.label_12.setText(_translate("MainWindow", "1"))        self.label_13.setText(_translate("MainWindow", "1"))        self.label_14.setText(_translate("MainWindow", "1"))

 

项目启动代码如下:

  •  
# -*- coding: utf-8 -*-import sysimport timeimport threadingfrom PyQt5.QtGui import QPixmap, QImagefrom PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox, QGraphicsOpacityEffectfrom GUI import Ui_MainWindowimport cv2import numpy as np  def cv_imread(file_path):    cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)    return cv_img  class SnapFinger(QMainWindow, Ui_MainWindow):    num = 0    flag_btn_start = True    flag_hero_revive = False    choose_list = []     def __init__(self):        super(SnapFinger, self).__init__()        self.setupUi(self)        self.setFixedSize(self.width(), self.height())        self.label_all = [self.label_1, self.label_2, self.label_3,                          self.label_4, self.label_5, self.label_6,                          self.label_7, self.label_8, self.label_9,                          self.label_10, self.label_11, self.label_12,                          self.label_13, self.label_14]        self.deal_with_label_all()        file_path_1 = 'resources/BlackPanther.jpg'        file_path_2 = 'resources/BlackWidow.jpg'        file_path_3 = 'resources/CaptainAmerica.jpg'        file_path_4 = 'resources/Clint.jpg'        file_path_5 = 'resources/DoctorStranger.jpg'        file_path_6 = 'resources/Drax.jpg'        file_path_7 = 'resources/Groot.jpg'        file_path_8 = 'resources/Hulk.jpg'        file_path_9 = 'resources/Mantis.jpg'        file_path_10 = 'resources/Nebula.jpg'        file_path_11 = 'resources/SpiderMan.jpg'        file_path_12 = 'resources/Thor.jpg'        file_path_13 = 'resources/Vision.jpg'        file_path_14 = 'resources/Winter.jpg'        self.file_path_label_all = [file_path_1, file_path_2, file_path_3, file_path_4,                                    file_path_5, file_path_6, file_path_7, file_path_8,                                    file_path_9, file_path_10, file_path_11, file_path_12,                                    file_path_13, file_path_14]        self.load_image_to_label()        btn_img_file_1 = "QPushButton{border-image: url(resources/thanos_1.png)}"        btn_img_file_2 = "QPushButton{border-image: url(resources/thanos_2.png)}"        btn_img_file_3 = "QPushButton{border-image: url(resources/thanos_3.png)}"        btn_img_file_4 = "QPushButton{border-image: url(resources/thanos_4.png)}"        self.file_path_btn_all = [btn_img_file_1, btn_img_file_2, btn_img_file_3, btn_img_file_4]        self.load_image_to_btn()        self.btn_start.clicked.connect(self.slot_btn_start)     def deal_with_label_all(self):        for i in range(14):            self.label_all[i].setScaledContents(True)     def deal_with_image_for_cv2(self, image):        # 提取图像的尺寸和通道, 用于将opencv下的image转换成Qimage        height, width, channel = image.shape        bytesPerLine = 3 * width        self.qImg = QImage(image.data, width, height, bytesPerLine,                           QImage.Format_RGB888).rgbSwapped()        # 将Qimage显示出来        px = QPixmap()        px_1 = px.fromImage(self.qImg)        return px_1     def load_image_to_btn(self):        self.btn_start.setStyleSheet(self.file_path_btn_all[0])     def load_image_to_label(self):        for i in range(14):            self.img = cv_imread(self.file_path_label_all[i])            if self.img.size == 1:                return            px_1 = self.deal_with_image_for_cv2(self.img)            self.label_all[i].setPixmap(px_1)     def select_image_random(self):        z = 0        temp_list = []        while z < 7:            tt = np.random.choice([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13])            if tt not in temp_list:                temp_list.append(int(tt))                z += 1            else:                pass        for i in temp_list:            self.choose_list.append(self.label_all[i])     def appear_fun(self, cn):        n = 0        op = QGraphicsOpacityEffect()        for i in range(100):            op.setOpacity(n)            cn.setGraphicsEffect(op)            n += 0.01            time.sleep(0.01)     def image_appear(self):        self.btn_start.setStyleSheet(self.file_path_btn_all[3])        for cn in self.choose_list:            self.appear_fun(cn)            time.sleep(0.05)        self.choose_list = []        self.btn_start.setStyleSheet(self.file_path_btn_all[0])        self.flag_btn_start = True     def disappear_fun(self, cn):        n = 1        op = QGraphicsOpacityEffect()        for i in range(100):            op.setOpacity(n)            cn.setGraphicsEffect(op)            n -= 0.01            time.sleep(0.01)     def image_disappear(self):        self.select_image_random()        for cn in self.choose_list:            self.disappear_fun(cn)            time.sleep(0.05)        self.btn_start.setStyleSheet(self.file_path_btn_all[0])        self.flag_hero_revive = True     def thread_1(self):        self.btn_start.setStyleSheet(self.file_path_btn_all[1])        time.sleep(1)        self.btn_start.setStyleSheet(self.file_path_btn_all[2])        time.sleep(0.5)        t_2 = threading.Thread(target=self.image_disappear)        t_2.start()     def slot_btn_start(self):        if self.flag_btn_start == True:            self.flag_btn_start = False            t_1 = threading.Thread(target=self.thread_1)            t_1.start()        elif self.flag_hero_revive == True:            self.flag_hero_revive = False            t_3 = threading.Thread(target=self.image_appear)            t_3.start()        else:            pass     def closeEvent(self, event):        reply = QMessageBox.question(self, 'Exit', 'Are you sure to exit?', QMessageBox.Yes | QMessageBox.Cancel)        if reply == QMessageBox.Yes:            event.accept()        else:            event.ignore()def ui_main():    app = QApplication(sys.argv)    w = SnapFinger()    w.show()    sys.exit(app.exec_())if __name__ == '__main__':    ui_main()
Python+PyQt5实现灭霸响指 之前在GitHub有趣分享:Thanos(灭霸命令)中分享了有趣的“灭霸命令”,本博文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~ GUI实现代码如下: # -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def ... 阅读详情

相关推荐

Linux虚拟机mysql安装教程(详细步骤)出现了一个错误:依赖检测失败

Linux虚拟机安装mysql的详细步骤(有报错预警哦)

m0_74953387的博客 5257

pyqt多窗口设计(2步实现,嘴对嘴教学,源码复制可用)

pyqt多窗口的实现其实一点也不复杂,简单2步即可搞定!文章附所有源码,复制即用!

遇己 4369

STC32G电调调试血泪史:从TPH1R403NL MOS管烧毁到PWM信号异常排查全记录

本文详细记录了STC32G无刷电调调试过程中的常见问题与解决方案,包括MOS管烧毁、PWM信号异常等关键故障排查。通过电源系统检测、驱动电路验证及三相平衡调试等实战经验,帮助硬件爱好者快速定位问题,提升电调调试效率。特别针对TPH1R403NL等MOS管的保护措施进行了重点分析。

weixin_33736048的博客 551

tensorflow1.x+pyqt5实现物品分类+展示界面+双界面切换

图像分类训练及识别,多种分类界面切换

weixin_67051070的博客 1090

自抗扰控制ADRC原理解析及案例应用

ESO的设计通常基于系统动态方程的线性化或近似模型,其输出包括系统状态的估计值和总扰动的估计值。非线性状态误差反馈控制律(Nonlinear State Error Feedback,NLSEF)是ADRC的最后一个环节,负责根据ESO和TD提供的信息生成控制信号。ADRC的另一个重要发展方向是与其他控制策略的融合,如模糊控制、神经网络和自适应控制等,以进一步提高系统的鲁棒性和适应性。ADRC的参数主要包括扩张状态观测器(ESO)的参数和非线性状态误差反馈控制律(NLSEF)的参数。

LIUMAO99的博客 9284

【OpenClaw从入门到精通】第05篇:实战!OpenClaw自动化搞定邮件/日历/文件管理(2026实测避坑版)

本文聚焦OpenClaw核心实用场景,手把手教你实现邮件、日历、文件管理的全自动化。通过安装三大核心技能,配置IMAP/SMTP邮箱、跨平台日历及文件沙盒权限,结合4个虚拟实战案例,演示从邮件自动摘要、会议冲突预警到下载文件夹分类的完整流程。文中包含2026实测的命令代码、配置步骤、排障方案,所有案例需在测试环境验证,代码未上传GitHub。兼顾新手入门与进阶需求,让OpenClaw从“能聊天”升级为“能干活”,帮你节省80%重复工作时间。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2676

pyqt-Ui_MainWindow‘ object has no attribute ‘show‘

pyqt-Ui_MainWindow' object has no attribute 'show' 由designer设计界面,并将.ui转为.py后直接在main函数中进行调用时不行的,目前主要有两种方法,一种是修改.py文件另一种是在main函数中做修改。 方法一 修改.py文件 将原始的 class Ui_MainWindow(Object): 换成 class Ui_MainWindow(QtWidgets.QMainWindow): def __init__(self):

Snfiltration 7080

2025年下半年网络规划设计师综合知识真题及答案解析

1983年,ARPANet完成技术转型,对此后的 Internet发展全关重要,这一转型是指( ) A.电路交换转向分组交换 B.商业化转型 C.民用化转型 D.从 NCP 协议转向 TCP/IP 答案:D 解析:ARPANet 最初使用 NCP (Network Control Protocol)协议进行主机问通信。1983年1月1日,ARPANet 正式切换到TCP/IP 协议族,为后续Internet的发展奠定了统一协议基础。

鹿鸣天涯 928

python偷回灭霸的宝石_Python+PyQt5实现灭霸响指功能

之前给大家分享过灭霸命令GitHub地址:https://github.com/hotvulcan/Thanos.sh,本文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~GUI实现代码如下:# -*- coding: utf-8 -*-from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):d...

weixin_39617215的博客 261

LeRobot 入门教程(七)数据集

LeRobot Dataset v3.0 是机器人学习数据的标准化格式,支持多模态时间序列数据和视频的统一访问。该版本通过基于文件的存储(Parquet/MP4)、关联元数据和Hub原生流式处理等新特性,显著提升了性能并降低了存储开销。文档详细介绍了格式设计、安装使用、数据记录与加载方法,以及从v2.1迁移到v3.0的步骤,特别针对大型数据集(如DROID 1.0.1)的处理提供了SLURM集群移植方案。v3.0通过优化文件组织和元数据管理,实现了更快的加载速度、更高的内存效率和更好的可扩展性。

2506_90492529的博客 2054

【示波器专题】示波器探头的原理深入——有源探头之单端有源探头

由于接地环路的苛刻要求,更高带宽的单端有源探头就算设计了也不实用。因此单端有源探头的带宽一般在6GHz以内,更高带宽的信号测量也只能使用差分有源探头(市面上有些型号的差分探头可同时兼顾单端测试)。......

一点硬件 2145

GitHub有趣分享:Thanos(灭霸命令)

Thanos.sh是一个开源的个灭霸命令,可随机删除电脑上一半文件。不知道这个命令有多少人执行过!? GitHub地址:https://github.com/hotvulcan/Thanos.sh Python+PyQt5实现灭霸响指:https://blog.youkuaiyun.com/m0_38106923/article/details/98040992 ...

不脱发的程序猿 8330

基于STM32的室内环境监测系统设计与实现

摘要 本文设计了一种基于STM32的室内环境监测系统,通过传感器实时采集温湿度、空气质量、烟雾浓度等数据,并利用Wi-Fi模块上传至云服务器。系统采用STM32F103C8T6作为主控芯片,结合DHT11、MQ系列传感器及BMP280气压传感器实现数据采集,通过ESP8266模块实现远程数据传输。用户可通过手机APP实时查看环境参数,并在数据超标时触发报警。实验表明,系统运行稳定,监测精度高,具有低成本、易扩展等特点,为改善室内环境质量提供了有效解决方案。 关键词:STM32;室内环境监测;传感器;Wi-F

3254968421的博客 221

github上的有趣代码

Thanos.sh是一个开源的个灭霸命令,可随机删除电脑上一半文件.第一次遇见这么好玩的代码,不敢亲测! Python+PyQt5实现灭霸响指:https://blog.youkuaiyun.com/m0_38106923/article/details/98040992

NilEcho2333的博客 167

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python图形化界面按钮_Python-PyQt5-图形可视化界面(3)--按钮--Qpushbutton

Ps:水平有限,欢迎建议和挑错PyQt5中按钮是一个QpushButton,可以提供一个点击的按钮来触发摸一个事件。按钮可以显示图片或者文字。创建按钮我们在第一节的mainwindow上创建一个按钮,代码如下:from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtGui import QIconclass Ui_mainWindow(obje...

weixin_39996478的博客 1020

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PyQt5 基本窗口控件(状态栏/窗口/图标/提示消息/QLabel/文本类控件)

文章目录 learn from 《PyQt5 快速开发与实战》

Michael是个半路程序员 2316

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python一个可视化界面有几个主窗口_Python-PyQt5-图形可视化界面(1)--主窗口--Qmainwindow...

1.首先建立一个简单的主窗口from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_mainWindow(object):def setupUi(self, mainWindow):mainWindow.setObjectName("mainWindow")mainWindow.setWindowModality(QtCore.Qt.WindowMod...

weixin_39845206的博客 896

PyQt5使用按钮打开其他窗口

使用三个.py文件。分别为zhu.py, ci_one.py, ci_two.py。 基本思路: 运行zhu.py产生一个窗口,窗口内有一个按键。按下后,打开其他两个文件产生的窗口。 先打开QT designed图形窗口设计器。设计好窗口。 最简单的设计器窗口转.py文件。 窗口: .py文件代码:(setupUi方法用于初始化窗口) from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object):

aijiayi00的博客 1万+

PYQT5开启多个线程和窗口,多线程与多窗口的交互实例

PYQT5开启多个线程和窗口,多线程与多窗口的交互实例 发布时间:2020-09-12 04:05:10 来源:脚本之家 阅读:748 作者:liqkjm 栏目:开发技术 每点击...

xujianjun229的博客 2190

PYQT6|Python GUI制作(二)qtdesigner ui转py后的运行

文章目录 前言 目录 前言 一、 二、QtDesigner 二、使用步骤 1.引入库 2.读入数据 总结 前言 在上一篇文章中,对PyQt6 在vscode里的配置进行了简单的介绍,也对Qtdesigner生成的ui文件转py格式进行了简要的说明,那么本文将对上一篇文章没有谈到的如何运行转换后的py代码进行补充说明。同时将以我制作的程序为例,对Qtdesigner 中我使用过的工具进行简要介绍。 一、前情提要 在上一篇文章中,我们介绍了如何将qtdesi

FOFOD的博客 8493

窗口继承 UI_MainWindow

使用 qt designer 设计出了个窗口, # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'test.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this fil...

LYR 的博客 9935

PyQt5高速入门(图像处理界面),期末作业小帮手(下)

1.用pyqt5设计用户界面。 2.完成图像选择、打开和显示。 3.实现图像的各种增强效果——灰度变换、图像滤波。 4.选择不同参数,观察图像变化效果。

qq_36516414的博客 5023
上一篇: 太好玩了,我用Python写了个火影忍者版的连连看 !
下一篇: Python语言自带的数据结构有哪些?
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值