自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 资源 (4)
  • 收藏
  • 关注

原创 VS Code快速实现Git PR操作

注意:建议先学习git的基本操作。

2022-12-03 00:09:05 1413 1

原创 screen设置翻页

screen可以通过进入。

2022-10-18 16:28:27 1327

原创 Python装饰器通俗理解

Python装饰器简单来讲就是用于扩展函数功能的一种工具,在扩展功能方面其与类的继承有些相似,都是为了提高代码的复用性。举个例子就是把孙悟空塞入炼丹炉,然后就出来一个还是会吃桃子会耍金箍棒,但是有火眼金睛的猴哥,只是多了特效技能,这就是为什么叫做装饰器的原因。与类的继承相比,其用途有所区别,并且降低了代码的耦合性(即类与类之间乱七八糟的关系导致整个代码体系臃肿的情形)。Python装饰器的应用场景有很多,其中一个很普遍的功能就是打印日志或者运行时间。{}{}{}......

2022-08-30 20:44:50 908

原创 VScode配置X11转发显示GUI窗口

一般在VSCode连接Windows子系统或者服务器时需要用到。

2022-08-29 19:44:45 2024

原创 WSL2快速上手

WSL2即Windows上运行的Linux子系统第二代版本,适合不方便安装双系统或者单纯使用Linux系统的情况。

2022-08-29 17:34:15 1124

原创 Windows终端配置emoji

首先能够配置emoji的前提是Win10以上的系统,并且强烈建议大家搜索一下Windows Terminal和Powershell的关系,这里不展开细讲,结论就是只能在Windows Terminal下实现emoji的效果,cmd和Powershell里面都不行!!!

2022-08-22 23:34:37 1387 1

原创 Powershell下激活Conda

Windows通过exe安装Conda是默认激活cmd终端的,换句话说在cmd终端输入conda命令是有效的。但是Win10系统以后出现了一个比cmd更好用的终端,即Powershell,要想激活Powershell下的Conda,可以在安装之后记住安装路径,比如我的是。这样Powershell下就可以使用Conda命令了。,那么首先执行以下命令。

2022-08-22 22:14:17 1447 1

原创 VSCode上手指南

该指南主要针对使用Python语言进行开发或者研究算法的同学,其他语言或许有更适合的软件,比如matlab等等,不过像Go这种跟Python很像的语言VS Code也比较适用。

2022-08-16 15:05:42 2299

原创 Q-learning算法实战

强化学习算法的模式都比较固定,一般包括sample(即训练时采样动作),predict(测试时预测动作),update(算法更新)以及保存模型和加载模型等几个方法,其中对于每种算法samle和update的方式是不相同,而其他方法就大同小异。self . lr = cfg . lr # 学习率 self . gamma = cfg . gamma。......

2022-08-03 13:58:27 1760

原创 Conda环境的复制与迁移

一般Python环境复制迁移的方式有两个,一个是迁移PiP环境,也就是生成requirement.txt,另外一种就是复制迁移Conda环境。

2022-07-19 17:26:11 1871

原创 Windows安装及卸载CUDA

现在Windows系统如果带有英伟达的显卡的话都会自己装好显卡驱动,如下图所示:注意这里的驱动版本所能支持的最高CUDA版本就行。注意CUDA不要安装的太新,根据自己的需要选择一个稳定的版本,比如和等,并且需要注意TensorFLow与CUDA的版本对应关系和PyTorch与CUDA的版本对应关系。选择好版本后,点击CUDA各版本链接,然后根据版本下载,如下图:下载好安装,如下图,选自定义安装:下一步之后中间的驱动不用安装:然后选择安装位置,这个位置务必记住:点击cudnn下载链接,登录

2022-07-12 23:48:44 1809

原创 Git设置用户名密码

终端输入:git config –global user.name [user name]git config –global user.email [user email]然后执行:git config –global credential.helper store这样在PR私有库的时候,就不用每次输入用户名密码。

2021-12-01 02:03:14 3569

原创 Parallel Desktop中Ubuntu系统共享主机代理

最近需要用到虚拟机,找了很多乱七八糟的,最后总结一下简单实用的方法。首先在Mac终端中输入ifconfig,找到en0字段,记住相关的IP地址172.17.217.235:找到代理的端口,如果是用Clash X的话,直接复制终端代理命令即可复制结果如下:export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890可以看到端口为7890。最

2021-11-25 19:03:01 3094 2

原创 matplotlib画中文图

代码如下,关键是增加chinese_font()即可,字体路径根据系统的情况改。import matplotlib.pyplot as pltimport seaborn as snsfrom matplotlib.font_manager import FontProperties # 导入字体模块def chinese_font(): ''' 设置中文字体 ''' return FontProperties(fname='/System/Library/Fonts/

2021-11-17 15:13:18 319

原创 拓扑排序Python实现

有向无环图拓扑排序是针对有向无环图(DAG, Directed Acyclic Graph)的,具有以下性质:如果这个图不是 DAG,那么它是没有拓扑序的;如果是 DAG,那么它至少有一个拓扑序;反之,如果它存在一个拓扑序,那么这个图必定是 DGA。拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓

2021-10-30 10:35:02 1778

原创 ubuntu查看文件夹大小

查看磁盘使用情况:df -h查看当前文件夹所有文件信息ls -l查看当前文件夹下所有文件大小总和du -sh

2021-10-27 11:01:58 4318

原创 GitHub和Gitee同步更新

我们一般将代码放到GitHub上(此时一般要设置代理加速git clone等),但是限于公司、学校服务器不能随便装代理加速,所以这时候使用国内的Gitee仓库,但是由于GitHub毕竟更主流一点,我们也想把代码放在GitHub上,于是就有了本篇文章。Gitee导入GitHub仓库这个很简单,GitHub上创建仓库后,在Gitee网页上导入即可,如下:GitHub和Gitee内部同步我们在GitHub和Gitee仓库的内部同步,只需要常规的pull和push即可,但是注意此时的更改GitHub和Gi

2021-09-24 18:50:56 1163

原创 字典按值或按键排序

import collectionsdic = collections.defaultdict(int)dic[0] = 9dic[4] = 7dic[1] = 2tmp = sorted(dic.items(),key=lambda item:item[1]) # 按值排序print(dict(tmp)) # 输出 {1: 2, 4: 7, 0: 9}tmp = sorted(dic.items(),key=lambda item:item[0]) # 按键排序print(dict(tmp

2021-09-18 13:29:49 374

原创 defaultdict用法

指定默认值当字典不存在某个键时指定默认值,需结合lambda匿名函数:from collections import defaultdictdic = defaultdict(lambda: 0)print(dic[1]) # 输出 0注意需指定默认类型或者使用匿名函数。否则报错:from collections import defaultdictdic = defaultdict()print(dic[1]) # 报错 KeyError: 1嵌套字典做图相关的题目可能用到:fr

2021-09-17 22:48:29 403

原创 欧拉路径:Hierholzer算法

Hierholzer 算法是一种用于求欧拉路径的算法。欧拉路径指的是,如果在一张图中,可以从一点出发遍历所有的边,每条边只能遍历一次,那么遍历过程中的这条路径就叫做欧拉路径。如果这条路径是闭合的,那就称为欧拉回路。简单地说,就是我们玩的“一笔画”游戏。算法过程如下:选择任一顶点为起点,遍历所有相邻边。深度搜索,访问相邻顶点。将经过的边都删除。如果当前顶点没有相邻边,则将顶点入栈。栈中的顶点倒序输出,就是从起点出发的欧拉回路。实例重新安排行程:给你一份航线列表 tickets ,其中 tic

2021-09-17 00:02:13 3207

原创 笔试编程题的输入输出(Python)

多行多组输入1res = []n = int(input()) # 首行输入一个数字确定行数for _ in range(n): # 确定行数直接for循环 try: # 不加try判断可能会出现EOF问题 line = input() # 输入就是input except: break a,b = line.split() # 一行多个数字即多组输入时,需要split res.append(int(a)+int(b)) # 记得类型

2021-09-11 15:06:44 2305

原创 matplotlib画图中文乱码问题

查来查去还是以下方法简单粗暴,并且容易迁移到别的机器上:from matplotlib.font_manager import FontPropertiesimport matplotlib.pyplot as pltdef chinese_font(): return FontProperties(fname='/System/Library/Fonts/PingFang.ttc',size=15) # 系统字体路径,此处是mac的plt.title(u'乘客等级分布', fontp

2021-09-10 16:01:44 173

转载 10款推荐系统模拟器汇总

1. RecoGymRecoGym是一个侧重于强化学习的推荐系统模拟环境,它提供了一个统一的推荐框架,用于将经典推荐算法和强化学习方法结合起来进行推荐。RecoGym拥有进行离线和在线实验的功能,这让推荐系统算法的研究人员可以更好地把握推荐算法的各项性能指标。现在RecoGym已经是推荐系统研究领域知名的模拟仿真器。原始文献:RecoGym: A Reinforcement Learning Environment for the problem of Product Recommendation in

2021-09-06 15:45:25 3678

原创 screen常见用法

screen一般用于ssh服务器的时候避免远程断开造成影响。screen -ls # 查看所有会话screen -S <作业名称> # 创建新会话screen -r <作业名称> # 恢复会话screen -d <作业名称> # 退出指定会话CTRL+A+D # 退出当前会话screen -S <作业名称> -X quit # 完全删除会话......

2021-08-31 14:46:45 761

原创 stfp常用命令

登陆stfp username@server_name上传与下载put [filename] # 上传文件get [filename] # 下载文件put -r [filefolder] # 上传文件夹get -r [filefolder] # 下载文件夹查看文件ls # 查看stfp远程目录lls # 查看本地目录退出quit...

2021-08-31 11:55:12 1819

原创 十大排序算法代码(Python)

本博客是建立在已经掌握原理的基础上来方便快速查阅代码的,原理见十大排序算法(Python实现)。冒泡排序def bubble_sort(arr): '''冒泡排序 ''' for i in range(1, len(arr)): found = False # 定义是否发现逆序的flag for j in range(0, len(arr)-i): if arr[j] > arr[j+1]:

2021-08-10 13:17:48 201

原创 Python reduce函数

reduce函数语法如下:reduce(function, iterable[, initializer])该函数函数将一个可迭代对象(列表,集合等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。实例如下:from functools import reducedef add(x, y) : # 两数相加 re

2021-05-22 08:32:40 236

原创 520教你画朵玫瑰去表白!

代码:import turtleturtle.speed(5) #画笔移动的速度turtle.penup() #提起画笔,移动画笔但并不会绘制图形turtle.left(90) #逆时针转动画笔90度turtle.fd(200) turtle.pendown() #放下画笔,移动画笔即开始绘制turtle.right(90) turtle.pensize(2)#设置画笔的大小# 花蕊 turtle.fillcolor("red") #填充颜色turtle.begin_f

2021-05-20 12:07:26 243 3

原创 Python Counter计数器

Counter是collections模块的Counter类,可以创建空的Counter,也可以根据其他形式创建:c = Counter() # 创建一个空的Counter类c = Counter('gallahad') # 从一个可iterable对象(list、tuple、dict、字符串等)创建c = Counter({'a': 4, 'b': 2}) # 从一个字典对象创建c = Counter(a=4, b=2) # 从一组键值对创建常用方法c = Counter('gall

2021-05-18 14:22:40 258

原创 VSCode常用快捷键

windowsMacLinux返回上一个位置Alt + ←Ctrl + -Ctrl + Alt + -添加注释Ctrl+K Ctrl+CCmd+K Cmd+CCtrl+K Ctrl+C取消注释Ctrl+K Ctrl+UCmd+K Cmd+UCtrl+K Ctrl+U

2021-05-15 16:21:20 288

原创 Mac安装MuJoCo以及mujoco_py

安装环境Mac Catalina 10.15.7, Python 3.7安装mujoco首先从MuJoCo网站获取30天试用期,或者通过教育账号免费申请获取。然后下载MuJoCo version 2.0解压文件到目录~/.mujoco/mujoco200,并把mjkey.txt放到~/.mujoco/mjkey.txt和~/.mujoco/mujoco200/bin目录中。然后终端执行:cd ~/.mujoco/mujoco200/bin./simulate ../model/humanoi

2021-04-13 10:42:45 2348 4

转载 在win10+Ubuntu双系统下,完美卸载Ubuntu

背景 机器:惠普 暗影精灵3 win10与Ubuntu16.04均为UEFI分区 清除ubuntu系统   使用软件:diskgenius   删除Ubuntu系统使用的几个分区(包括EFI分区),注意不要删除Windows的EFI分区 若不确定Ubuntu相关分区,可通过【...

2021-04-06 16:57:15 279

原创 PPO算法实战

原理简介PPO是一种off-policy算法,具有较好的性能,其前身是TRPO算法,也是policy gradient算法的一种,它是现在 OpenAI 默认的强化学习算法,具体原理可参考PPO算法讲解。PPO算法主要有两个变种,一个是结合KL penalty的,一个是用了clip方法,本文实现的是后者即PPO-clip。伪代码要实现必先了解伪代码,伪代码如下:这是谷歌找到的一张比较适合的图,本人比较懒就没有修改,上面的k就是第k个episode,第六步是用随机梯度下降的方法优化,这里的损失函数(

2021-03-23 15:57:42 15757 19

原创 VSCode指定部分区域查找和替换

鼠标选中部分区域,如下图:选中两行,点击红色圈圈的按钮或者快捷键(CMD+OPTION+L)就可以只在这两行进行查找和替换

2021-02-09 13:41:20 14612 5

原创 ubuntu非root用户安装CUDA以及cuDNN

1. 安装N卡驱动既然都是非root用户安装了,一般也是用的服务器,所以驱动一般都是安装好的,如果是其他情况需要安装,可以参考ubuntu安装CUDA及cuDNN2. 安装CUDA可以参考知乎-非root用户安装cuda与cudnn的安装cuda部分,主要就是更改安装路径,一般路径是用户路径,比如/home/jj.cuda/。在修改环境变量方面,知乎-非root用户安装cuda与cudnn有一点小问题,推荐以下环境变量设置:export LD_LIBRARY_PATH=/usr/jj/cuda/l

2021-02-06 16:41:16 1830 2

原创 Python:反转二维数组的行和列

代码如下:import numpy as nparr=np.arange(12).reshape(4,3)print("原数组")print(arr)print("翻转行")print(arr[::-1])print("翻转列")print(arr[:,::-1])结果如下:原数组[[ 0 1 2] [ 3 4 5] [ 6 7 8] [ 9 10 11]]翻转行[[ 9 10 11] [ 6 7 8] [ 3 4 5] [ 0 1 2]]翻

2021-01-29 11:26:42 4135

原创 PSO解非线性规划问题

使用pyswarm模块,代码如下,见注释:from pyswarm import psodef object_func(x): x1 = x[0] x2 = x[1] return x1**4 - 2*x2*x1**2 + x2**2 + x1**2 - 2*x1 + 5 # 求解最小值def cons(x): x1 = x[0] x2 = x[1] con1 = -(x1 + 0.25)**2 + 0.75*x2 # con1>=0

2021-01-29 01:13:15 800

原创 Pandas遍历数据集时间对比(for和apply)

主要参考知乎:Pandas 中如何遍历数据集(for 循环和 apply 函数对比,本篇文章并没有做一个速度对比,因此这里简单试验一下,有时间补上全部的相关理论。本次试验采用的csv是各年强化学习论文统计,总共4000+条目,测试环境是2019 16寸MacBookPro I7版,Python3.7。代码如下:#!/usr/bin/env python# coding=utf-8'''Author: JohnEmail: [email protected]: 2021-01-

2021-01-25 18:50:51 1029

原创 三种查找字符串方法的速度比较

查找字符串A是否包含子串B有三种方法,如下:from timeit import timeitimport redef find(string, text): if string.find(text) > -1: passdef re_find(string, text): if re.match(text, string): passdef best_find(string, text): if text in string:

2021-01-12 14:48:07 1415

原创 __slots__简介

__slots__是python中关于类的一个比较高级的用法,用于绑定大量类的实例属性。一般python类的属性是用__dict__表示的,这样耗费时间又消耗内存,使用__slots__只为固定的一些属性分配空间,因此能够提高效率和减少memory需求,如下:from timeit import repeatclass A(object): passclass B(object): __slots__ = ('x')def get_set_del_fn(obj): def get_set_d

2020-12-23 13:11:33 787

tensorflow2.0软件包

源代码直接编译的pip软件包tensorflow2.0,适用于mac catalina10.15.1系统,环境python3.7.5,注意python3请用brew工具安装 使用方法:"pip3 install tf_nightly-2.0.0-cp37-cp37m-macosx_10_14_x86_64.whl" 可能会需要keras等依赖按提示操作即可

2019-11-21

机器学习实战中英文及源码.zip

机器学习实战中英文pdf及源码, 机器学习实战中英文pdf及源码, 机器学习实战中英文pdf及源码, 重要的话说三遍!!!

2019-05-15

c调用c++的Demo

main.c调用hello.cpp,在ubuntu18.04用cmake编译测试完成的

2018-08-16

c++调用c的Demo

main.cpp调用hello.c的示例,在ubuntu18.04用cmake方法测试成功的

2018-08-16

空空如也

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

TA关注的人

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