自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 【强化学习】倒立摆-PPO算法

先从最简单的开始入门吧主要参考:阿里云强化学习训练营主要改动:因为原代码使用Categorical,训练效果不佳,改成了比较简单的动作选择,效果改善了。添加一部分函数的说明[Categorical, gather, clamp]强化学习AlphaZero,openAI的dota AI环境=>观测=>动作=>环境改变=>观测倒立摆#导入gym和torch相关包import gymimport randomimport torchimport torch.

2021-01-08 16:25:29 2959 3

原创 Docker入门使用

Docker笔记Docker是什么Docker 是一个开源的应用容器引擎。可以将应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上,包括windows的WSL。配置环境迁移各种依赖包用Docker打包后,可以不用再重新挨个下载了。Docker使用1.容器功能命令描述查看容器docker ps [-a]显示运行 [-a 所有] 容器运行容器docker run [option] [image] [cmd]在镜像imag

2021-01-05 17:26:02 163

原创 python-selenium包安装和基础使用

1.安装1.1 selenuim 包安装conda install selenuimpip install selenuim1.2 浏览器驱动安装“为什么要下载驱动?”——selenuim通过驱动控制浏览器行为。注意驱动版本要和浏览器版本一致,否则会报错:SessionNotCreatedException: Message: session not createdEdge浏览器驱动下载2.使用2.1 初始化from selenium import webdriverdrive

2020-10-28 20:51:30 566

原创 PyQt缩放技巧,保留原图纵横比

1.使用Pixmap缩放 - 这种方式会造成图片变模糊,图片拉伸变形QPixmap读取文件 QPixmap.scale() 缩放到对应尺寸 pixmap = QtGui.QPixmap(file_path) pixmap = pixmap.scaledToWidth(640) self.label.setPixmap(pixmap) 2.使用QLabel 缩放 - 保留原图纵横比QLabel设置为特定尺寸 比如说宽度固定为64...

2020-10-23 14:53:00 6409 4

原创 【Leetcode刷题笔记】538.二叉搜索树转为累加树

问题原题地址给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。二叉搜索树:左节点值 < 根节点值 < 右节点值用先右后左的中序遍历,依次累加就可以了。啧啧啧代码class Solution: def convertBST(self, root: TreeNode) -> TreeNode: if not root:

2020-09-21 16:27:11 104

原创 【Leetcode刷题笔记】78.子集

解题思路原题地址给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。画出决策树在每一层中选择当前数字,不选择当前数字,分别进入下一层。代码class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: res = [] def backtrack(track, index): if in

2020-09-20 14:17:18 175

原创 [Leetcode刷题笔记] 47.全排列

解题思路原题地址回溯问题已经熟练起来了,掌握了套路,我这个菜鸡也能写出好算法。首先搬出回溯问题框架: def dfs(): res = [] def backtrack(track): if 结束条件: res.append() return for num in 可选项: 做选择 ba

2020-09-18 21:29:16 100

原创 [LeetCode刷题笔记]37.数独问题

1. 问题Leetcode原题地址一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 '.' 表示。输入输出2.思路解数独本质上就是填入一个数字,判断是否满足条件,不行就换下一个数字。这就很像回溯问题。先搬出回溯算法框架:def func(self, nums): def backtrack(): if 结束条

2020-09-15 17:34:33 225

原创 [Leetcode刷题笔记] 组合总和

1. 问题Leetcode原题地址-组合1Leetcode原题地址-组合2给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。第一个问题是可以重复选取。第二个问题是每个元素只能选取一次。2.思路显然这是个回溯问题,首先把框架写出来。 def fuc(self, nums): res = [] def backtrack(nums, track, index

2020-09-10 13:49:26 203

原创 【leetcode刷题笔记】841.钥匙和房间

1. 问题Leetcode原题地址有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。如果能进入每个房间返回 true,否则返回 false。示例:2.思路用一个数组存储某个房间是否已经访问过。返回:所有房间是否均已访问class Solution: def canVisitAllRooms(self, rooms: List[List[int]]) -> bool: isvisi

2020-08-31 14:06:03 249

原创 【LeetCode刷题笔记】657.机器人能否返回原点

1. 问题Leetcode原题地址在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。啧,简单题直接水一篇:class Solution: def judgeCircle(self, moves: str)

2020-08-28 14:35:41 111

原创 【leetcode刷题笔记】459.重复的子字符串

1. 问题Leetcode原题地址给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例:2. 思路自己写的就是简单的思路一,列出其他思路供参考。2.1 找到子串子串最短长度为:集合的长度子串最长长度为:原字符串的一半在这个长度范围内查找:长度能被原字符串整除,得到子串个数子串*个数 == 原字符串,返回真 def repeatedSubstringPattern(self, s: str) ->

2020-08-24 14:01:09 228

原创 【leetcode刷题笔记】529.扫雷游戏

1. 问题Leetcode原题地址给定一个代表游戏板的二维字符矩阵。 ‘M’ 代表一个未挖出的地雷,‘E’ 代表一个未挖出的空方块,‘B’ 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字(‘1’ 到 ‘8’)表示有多少地雷与这块已挖出的方块相邻,‘X’ 则表示一个已挖出的地雷。现在给出在所有未挖出的方块中(‘M’或者’E’)的下一个点击位置(行和列索引),根据以下规则,返回相应位置被点击后对应的面板:如果一个地雷(‘M’)被挖出,游戏就结束了- 把它改为 ‘X’。如

2020-08-20 17:36:41 131

原创 【leetcode刷题笔记】647回文子串

1. 问题Leetcode原题地址给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。示例:2. 思路首先是最简单的方案,暴力两层循环,形成所有子字符串,依次判断是否回文。class Solution: def countSubstrings(self, s: str) -> int: def _is(sub_s): return sub_s == sub_s[::-1] res = 0 for i i

2020-08-20 13:58:00 156

原创 【leetcode刷题笔记】109-有序链表转平衡二叉树

1. 问题Leetcode原题地址给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。(平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1)示例:给定的有序链表: [-10, -3, 0, 5, 9],昨天正好做了什么是平衡二叉树哈·2. 思路2.1 思路一分析一下首先,要平衡,上面长度为5的链表,先存中间的值,比它小的放左边,比它大的放右边。但是长度为10或更多肯定不能直接这么放,那一点都不平衡。由上述可推论,短序列可以按照这种方式,

2020-08-18 16:36:31 387

原创 【leetcode刷题笔记】110-平衡二叉树

嚯,博客这东西,真是停下来就能鸽好久。开始刷刷算法题吧就……1.平衡二叉树问题Leetcode原题地址给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。 例如上图,左边的是平衡的,右边的不是。2.解题思路首先掌握二叉树遍历的基础,分别有如下三种形式,然后往里面套就行了。def visitTree(root: TreeNode): ...

2020-08-17 20:42:11 192

原创 【python做个录屏软件】3.GUI加上录屏录音

续上文1.创建输出目录RESULT_PATH = './res' # 存储录屏和录音的位置def create_dirs(): if not os.path.exists(RESULT_PATH): os.mkdir(RESULT_PATH) video_path = os.path.join(RESULT_PATH, 'video') s...

2019-12-12 22:07:17 1164

原创 【python做个录屏软件】2.用PyQt5做个漂亮的GUI

本篇内容包含:1.PyQt5-手动书写GUI2.无边框无标题栏界面3.鼠标拖动4.界面隐藏到桌面右边,靠近弹出。1. GUI的模板importsysfromPyQt5importQtCore,QtGui,QtWidgetsclassqt_window(QtWidgets.QWidget):def__init__(self):...

2019-12-11 18:31:51 2787

原创 【python做个录屏软件】1.从多线程开始

1.进程和线程简单来讲,每打开一个程序,就是一个进程。在一个进程中,可以有多个线程。你一边用浏览器,一边用音乐软件听歌,就是多进程。在一个浏览器里面你同时开了好几个网页,就是多线程。都是为了让计算机同时干几件事。充分压榨嘛~2.线程的使用import threadingpython内置threading模块,足以满足日常需求。使用方法如下:class ex...

2019-12-03 17:12:42 1039

原创 【SQL】1.基本语句

表格名称: student_table id name age 1 Zhang1 18 2 Li2 19 3 Wang3 18 ...

2019-12-02 17:05:50 124

原创 【重学python】4.文件&异常

文件IOopenf = open(文件路径,打开模式)f = open('1.txt','r')文件路径文件路径分为绝对路径和相对路径。绝对路径: E:\Documents\1.txt相对路径: 1.txt – [这种情况是你的python程序与1.txt在同一目录下,才可以找到]在windows系统中,直接复制路径,是这样的‘ E:\Documents\1.txt’字符...

2019-11-27 18:27:23 108

原创 【重学python】3.面向对象编程

1.引述任何知识,总是用到的时候才能切身体会。面向对象和面向过程只是一个概念名词,并不难。面向对象比面向过程多的就是封装,把数据和操作方法封装到一起,说到底,还是为了name = '小明'def introduce(n) print('My name is ',n)introduce(name)...

2019-11-21 15:22:32 219 1

原创 【重学python】2.基础语法

1. 引述学习任何语言,都要学习其语法,句子结构。学习编程语言亦是如此。所幸,与机器的交流的语言相比人与人之间交流的语言,要简单明了得多。本章中,主要讲述python的三个基本点。变量,函数,结构。2. 变量2.1 什么是变量?为什么要有变量?首先,什么是变量,是相对与常量而言的。假设我们制作一个计算器。当你使用计算器根据半径计算周长的时候,c = 2ΠR ,此时R是变量,Π是常量...

2019-11-17 14:54:43 5525 5

原创 【重学python】1.胡说编程+Anaconda+Vscode环境搭建

1.前言首先你得有个女朋友~【注:本教程不教授怎么找到女朋友!】然后就手把手教女票学python吧!1.1 什么是编程?某天,你的女票突然向你说:“教练 ,我想学编程!”,要向一个什么都不了解的,电脑上各种管家神仙打架的,女朋友解释什么是编程,你得解释什么是计算机,二进制,编译,指令,balabala。然后她就放弃了!教程完!当然要解释得生动形象,不然会打击积极性的!应该这样说:“编...

2019-11-13 19:57:15 505

原创 【python-小工具-3】抠图-透明化背景-修改图片颜色

1.图片处理-修改颜色有时候有种困扰!把网上的截屏,或者一般图片拖到PPT或者其他文档里面去,会有一个明显的白底框框。放进PPT里面也太丑了点,干脆把图片的白底给弄透明,可就为这下个PS,不符合程序员的风格!能写代码自动化解决的当然写代码了!对了,这个还能把手机拍照的---手写签名呀~之类的抠出来放进word也毫无违和感了.from PIL import Imaged...

2019-11-02 10:42:17 1212 2

原创 【python小工具-2】录屏录音

录屏录音-合成视频在上网时,只能看却不能下载。爬取链接下载后发现视频加了密。加密了还不好破解。是时候祭出杀招了!自动录屏录音。1.Video & Audio 录制截取屏幕class VideoCapThread(threading.Thread): def __init__(self, videofile='record.avi'): ...

2019-10-30 14:42:07 1281

原创 python-os模块常用功能

记录了几个常用的os模块功能,更多的可以参考【菜鸟教程】函数 功能 os.chdir() 改变工作目录 os.getcwd() 当前工作目录 os.listdir() 返回path目录下文件名和文件夹 os.mkdir() 创建一个文件夹 os.open() 打开文件(可选参数) os.remove() 删除文件——删除文...

2019-03-26 15:46:51 176

原创 [机器学习笔记-5] MINST数据集-CNN

tensorflow-datasets嵌入式可用数据集(点开查看官方github链接,里面有每个数据集的介绍)手写数字识别from __future__ import absolute_import, division, print_function# Import TensorFlow and TensorFlow Datasetsimport tensorflow as tf...

2019-03-26 14:28:25 996

原创 [机器学习笔记-4]卷积神经网络

前面部分与上篇文章完全相同,只在模型构建这里改成了CNN网络构建模型设置层1.卷积层 tf.keras.layers.Conv2D2.最大池化 tf.keras.layers.MaxPooling2D两对[卷积、最大池化]层第一个卷积层(3,3),填充:创建32个卷积输出;最大池化(大小 2 * 2 ,步长为 2):降低所有32个卷积图像的大小第二个卷积层(3,3),填充,...

2019-03-20 21:30:30 190

翻译 [机器学习笔记-3]识别服饰图像的神经网络

目录1.安装tensorflow数据集(命令行输入) & 导入依赖2.导入Fasion MINST数据集3.处理数据4.构建模型5.训练模型6.评估准确度7.预测数据8.图表显示数据jupyter notebook中运行注意事项术语tensorflow_datasets中70000张衣服图片,60000张用作训练,10000张用作测试。1.安...

2019-03-20 20:40:03 1719

翻译 [机器学习笔记-2]训练一个神经网络

目录摄氏度与华氏度的转换建立模型编译模型训练模型损失函数随训练周期的变化使用模型预测数据什么是密集层/全连接层?摄氏度与华氏度的转换我们已知其转换公式为:F = C * 1.8 + 32可以得到如下对应表:摄氏度 华氏度 0 32 8 46 15 59 22 72 38 100 而机器学习就是在...

2019-03-18 21:33:20 235

原创 [机器学习笔记-1]TensorFlow2.0安装-CPU和GPU版本

相关链接:Google 制作的节奏紧凑、内容实用的机器学习简介课程 TensorFlow官网 Anaconda中的Tensorflow非常简单,Anaconda中安装Tensorflow只要一句话(cpu版本)conda create -n tensorflow_env tensorflow(gpu版本)也是一句话,不过gpu版本的可能还需要安装cuda等软件,未尝试。【在下...

2019-03-18 21:15:02 157

原创 【视频聊天】一个简单demo

Android端程序:https://github.com/Zweo/VideoChat系统架构示意图 视频聊天的的流程大致为: 1. 用户A发起视频聊天,将控制信息发往调度服务器,同时将A视频流上传流媒体服务器;2. 调度服务器通过控制信息找到对应的用户B,B做出响应,将B方视频流上传到流媒体服务器,返回响应信息,并拉取A方视频流。3. A得到响应信息,拉取B方视...

2018-12-16 02:40:11 5129 1

原创 python安装OSMnx模块

几天吃尽苦头,终于把这个osm模块装上了。总结一下,关键在于两点使用conda配置环境 python版本选择2.7! 鄙人一直以来用的版本都是python3,然而原先的python3.6环境中安装osmnx模块,要么出现import失败,要么即便安装好了,import成功了,也运行失败。而且完全都不知道错在哪! 好在Anaconda3下,可以很方便的新建环境,控制pytho...

2018-11-09 22:20:03 5643 18

原创 [Android蓝牙]三步实现蓝牙聊天APP

先看下结构目录ChatService.java —— 蓝牙连接 DeviceList.java —— 设备显示 MainActivity.java—— 主界面1.权限要获取蓝牙功能,先在AndroidManifest.xml中申请权限 <uses-permission android:name="android.permission.BLUETOOTH...

2018-10-17 17:23:22 9735 13

原创 【Red5流媒体服务器搭建】

1.下载red5-serverhttps://github.com/Red5/red5-server/releaseswindows环境:  启动red5.bat,网页输入127.0.0.1:5080测试是否正确启动 (注意先要有jdk环境) 2.red5 demo演示demo在最新版red5-server的webapp中自带了,不需要再下载。在red5-server/co...

2018-10-15 16:11:42 532

原创 C++控制台输出UTF-8乱码

2019.11.2更新,可以设置控制台编码格式为UTF-8chcp 65001这样就不会乱码了.但需要每次手动输入Win+R,输入regedit打开注册表编辑器HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\右键新建一个字符串值,取名叫Autorun,值设为@chcp 65001>nul就会打开cmd自动运...

2018-08-03 11:52:43 11453 3

原创 VisualStuio编译tesseract-ocr4.0

VisualStuio编译tesseract-ocr主要参考了此博客1.安装软件cmake  下载地址 cppan   下载地址   安装后注意添加到环境变量/cmake/bin  以及cppan.exe2.下载源码git clone https://github.com/tesseract-ocr/tesseract tesseract3.生成解决方案进入tes...

2018-08-03 11:40:34 1072

原创 Python3字符串前缀u、b、r

1.无前缀&u前缀字符串默认创建即以Unicode编码存储,可以存储中文。 string='a'等效于string=u'a'Unicode中通常每个字符由2个字节表示u'a'即 u'\u0061' 实际内存中为 [00000000][01100001]2.b前缀 字符串存储为Ascll码,无法存储中...

2018-07-10 11:00:59 20769 4

PyQt5编写,无边框无标题可拖动,屏幕边缘隐藏,鼠标悬浮弹出

PyQt5编写,无边框无标题可拖动,屏幕边缘隐藏,鼠标悬浮弹出。 在左侧右侧屏幕都可以。 由于我的时两个显示器,具体参数可以在 SCREEN_WEIGHT = 1920 * 2 SCREEN_HEIGHT = 1080 WINDOW_WEIGHT = 180 WINDOW_HEIGHT = 50 更改你的SCREEN_WEIGHT

2019-12-11

video-js.5.20.5

内含video.js,video.js.swf等文件。主要用于在网页中嵌入播放器,可以用于直播,播放流媒体文件等等。

2018-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除