- 博客(50)
- 资源 (14)
- 收藏
- 关注

原创 图片隐水印的python库
blind-watermark基于傅里叶变换的数字盲水印文档: https://BlindWatermark.github.io/blind_watermark/#/zh/Source code: https://github.com/guofei9987/blind_watermarkinstallpip install blind-watermarkFor the current developer version:git clone git@github.com:guofei998
2020-08-20 01:32:31
2343
2

原创 Python 数字图片盲水印
blind-watermark基于傅里叶变换的数字盲水印文档: https://BlindWatermark.github.io/blind_watermark/#/zh/Source code: https://github.com/guofei9987/blind_watermarkinstallpip install blind-watermarkFor the current developer version:git clone git@github.com:guofei998
2020-08-14 00:26:43
3492
7

原创 Python实现遗传算法库
scikit-optscikit-opt 这个库以很好用的方式实现了遗传算法的应用,是目前能找到的最好的遗传算法工具箱目标函数def demo_func(x): x1, x2, x3 = x return x1 ** 2 + (x2 - 0.05) ** 2 + x3 ** 2用遗传算法求解from ga import GAga = GA(func=demo_func...
2019-08-08 11:14:48
10157
3

原创 Python实现粒子群算法PSO
去github上吧scikit-opt这个库下载下来, https://github.com/guofei9987/scikit-opt 如果不想下载整个库,也可以只下载pso.py这个文件PSOdef demo_func2(p): # Sphere函数 out_put = 0 for i in p: out_put += i ** 2 retur
2017-12-06 19:10:27
4950
2

原创 使用Python实现遗传算法
我们使用scikit-opt工具箱来实现遗传算法:https://github.com/guofei9987/scikit-opt 下载后,我们只需要其中的ga.py文件首先,定义一个目标函数def demo_func2(p): x, y, z = p return -(x ** 2 + y ** 2 + z ** 2)我们想用遗传算法找出目标函数的最大值,这样做: func是你
2017-12-06 15:07:22
4306
原创 【混合编程】Rust 调用 C 编译后的文件
rust 调用 c语言编译成的 dylib 文件,假设文件名为。rust 调用c,其中c返回一个int类型的数组,如何写代码。rust调用c的时候,返回的是一个指向结构体的指针。rust 调用c的时候,c返回的是结构体。rust 调用 c 的时候,入参是。rust 调用 c 的时候,入参是。rust 调用c的时候,传入。(指向一个字符串数组)toml 文件添加这个。
2023-04-14 21:48:46
736
原创 Rust如何实现“继承”,以复用父类的方法
Rust 不支持继承,但可以使用一些方法,实现类似“继承”的效果,以此提升代码复用。以上代码实现了一个父类。
2023-04-14 21:44:49
1079
原创 Rust 如何把不同的类(struct)放到同一个Array中
定义一个实现了Trait的结构体,并将其Box化,然后就可以将它们放入同一个Vec中。
2023-04-14 21:42:39
276
原创 pyLSHash:Python 100行代码实现LSH(Locality Sensitive Hashing)算法
LSH算法的Python实现,Locality Sensitive Hashing
2022-08-01 19:54:44
960
原创 文本盲水印:把信息打入文字中
应用地址:https://www.guofei.site/pictures_for_blog/app/text_watermark/v1.html视频介绍:https://www.bilibili.com/video/BV1m3411s7kT项目地址:https://github.com/guofei9987/text_blind_watermark
2021-12-15 20:50:31
927
原创 仅用sql实现协同过滤算法
协同过滤(collaborative filtering)算法是一种入门级推荐算法,实现简单、可解释性强、效果尚可,有大量可调整的点。问题定义你的数据库里有一些打分记录了,你想算出更多的打分(红色的问号)算法步骤step1:确定基于user还是基于item。一般基于数量少的那个。例如,一个视频网站有上1万用户,50个视频,那么就基于item(视频)。 目的是计算出可信度高的相似矩阵,顺便减少计算量和存储量,这个案例中,只需要存储一个50×50的相似矩阵。step2:计算相似矩
2020-12-30 16:28:01
2181
原创 80行代码实现一个图数据库
pygraphsA graph database based on Python纯Python实现的图数据库开发计划: 完备增删改查 改善复杂查询的体验 支持 CQL 语句使用文档初始化一个空的图数据库import pygraphs as pgG = pg.Graph()增增加节点# 从csv读取节点并加入图数据库G.add_vertexes_from_file(filename='Vertexes.csv')# 从list读取节点并加入图数据库vertexes_l
2020-12-05 17:35:45
622
1
原创 CQL语句汇总(neo4j)
安装配置用 docker 直接用docker run \ --publish=7474:7474 --publish=7687:7687 \ --volume=$HOME/neo4j/data:/data \ neo4jUI洁面: http://localhost:7474初始密码:neo4j/neo4j使用数据库create database movies:use movies创建数据CREATE ( <node-name>:&
2020-12-03 00:16:51
1176
1
原创 Python 有约束的粒子群算法(PSO)的可视化动画
有(非线性)约束的粒子群算法,红色圆圈是约束有约束的PSO(粒子群算法)代码如下(参见 github):import numpy as npfrom sko.PSO import PSOdef demo_func(x): x1, x2 = x return -20 * np.exp(-0.2 * np.sqrt(0.5 * (x1 ** 2 + x2 ** 2))) - np.exp( 0.5 * (np.cos(2 * np.pi * x1) + n
2020-11-20 20:27:53
4194
1
原创 隐写术(盲水印):从入门到出门
0. 前言我在做 Blind Watermark 这个库的时候,翻阅了大量材料,学到了关于隐写术、盲水印的很多知识,现在梳理了一遍,发出来。本文结构:简介:隐写术的应用场景、分类、特点隐写术:介绍几种巧妙的隐写术的算法隐写术的衡量指标:如何衡量算法的好坏隐写分析:如何攻击隐写算法1. 隐写术的简介应用场景:版权识别。数字水印可以提供所有权证据。用户识别或指纹。合法用户的身份嵌入水印,用于识别非法复制。保证图像不被篡改。如果水印设计成,对图像任何修改将破坏水印。自动监视。
2020-11-20 01:06:43
15763
1
原创 ModuleNotFoundError: No module named 'sko' 解决办法
有时候python导入包时,会报下面这个错ModuleNotFoundError: No module named ‘sko’报错原因是没有安装 scikit-opt 这个包,安装就行了(详细安装方法来自 scikit-opt 官网)简单地安装步骤:打开命令提示行,执行下面的代码,稍等几秒就安装完毕。pip install scikit-opt运行之前的 Python 代码,Modu...
2020-04-06 11:44:07
8040
原创 使用遗传算法进行曲线拟合
遗传算法可以做最优化,这是因为回归模型的算法关键是最优化,而遗传算法可以做最优化。例如,把残差当成目标函数,形如 :ming(a,b)=∑i=0n(f(xi;a,b)−yi)2\min g(a,b)=\sum\limits_{i=0}^n (f(x_i;a,b)-y_i)^2ming(a,b)=i=0∑n(f(xi;a,b)−yi)2然后针对a,b 做优化我们使用 scikit-o...
2020-04-03 00:22:32
4131
1
原创 【AHP】层次分析法原理与Python实现
层次分析法,简称AHP,层次分析法是 多目标决策问题 的一个解决方案。它把有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初提出的。人们分析问题时,经常面对一个由相互关联、相互制约的众多因素构成的复杂系统。层次分析法则为研究这类复杂的系统,提供了一种新的、简洁的、实用的决策方法。原理假设你有m个候选...
2020-01-07 17:46:41
5852
4
原创 差分进化算法解决有约束优化问题(Python实现)
差分进化算法(Differential Evolution)是演化算法(evolutionary algorithms,简称EAs)的成员之一。EAs的成员还包括著名的遗传算法(Genetic Algorithm)等。DE在某些问题上表现非常良好,值得一试。这里演示用 scikit-opt 实现差分进化算法Step1:定义你的问题,这里定义了一个有约束优化问题minf(x1,x2,x3)...
2019-12-02 18:46:13
4033
1
原创 模拟退火算法的三种形式+Python实现
3 types of Simulated Annealing模拟退火有三种具体形式‘fast’:u ~ Uniform(0, 1, size = d)y = sgn(u - 0.5) * T * ((1 + 1/T)**abs(2*u - 1) - 1.0)xc = y * (upper - lower)x_new = x_old + xcc = n * exp(-n * que...
2019-11-25 21:44:46
1820
原创 模拟退火算法的Python实现与可视化
3.2 模拟退火算法解决TSP问题(旅行商问题)作为demo,生成模拟数据(代码与遗传算法解决TSP问题一样,这里省略)调用模拟退火算法-> Demo code: examples/demo_sa_tsp.py#s2from sko.SA import SA_TSPsa_tsp = SA_TSP(func=cal_total_distance, x0=range(num_poin...
2019-11-22 00:27:05
1664
1
原创 遗传算法进行整数规划(0-1优化)Python实现
scikit-opt 这个库以很好用的方式实现了遗传算法的应用,是目前能找到的较好的遗传算法工具箱去这里 scikit-opt 下载源代码。或者用pip安装:pip install scikit-opt在多维优化时,想让哪个变量限制为整数,就设定 precision 为 1即可。例如,我想让我的自定义函数 demo_func 的第一个变量限制为整数,那么就设定 precision 的第一...
2019-11-19 23:33:23
7877
1
原创 粒子群算法,python 实现可视化
先去下载 scikit-opt https://github.com/guofei9987/scikit-opt导入包,定义目标函数import numpy as npimport matplotlib.pyplot as pltfrom sko.PSO import PSOfrom matplotlib.animation import FuncAnimationdef demo...
2019-11-19 08:48:55
2567
原创 遗传算法做整数规划(0-1优化)Python实现
scikit-opt 这个库以很好用的方式实现了遗传算法的应用,是目前能找到的较好的遗传算法工具箱去这里 scikit-opt 下载源代码。或者用pip安装:pip install scikit-opt在多维优化时,想让哪个变量限制为整数,就设定 precision 为 1即可。例如,我想让我的自定义函数 demo_func 的第一个变量限制为整数,那么久设定 precision 的第一...
2019-11-05 14:19:01
7376
原创 一个Python字典的中国省份映射
{'中国': '', '北京': '华北', '上海': '华东', '天津': '华北', '重庆': '西南', '河北': '华北', '山西': '华北', '河南': '华中', '辽宁': '东北', '吉林': '东北', '黑龙江': '东北', '内蒙古': '华北', '江苏': '华东', '山东': '华东', '安徽': '华东', '浙江'...
2019-10-30 16:49:42
3048
1
原创 一个在线文本比较工具
http://www.guofei.site/pictures_for_blog/text_compare/main.html
2019-10-27 17:10:20
1480
3
原创 【小工具】github star数量统计
一个统计某个账号下 github 的 star 数量的在线小应用。点击这里源代码地址输入账号,然后点击Calculate 按钮
2019-08-26 20:13:06
1724
原创 如何查看github上,某个人的star数量
代码在这里例如,我想看看 id 为 guofei9987 的star 和 fork 数量,就可以这样python github_counter.py guofei9987结果:
2019-08-09 12:17:00
1785
原创 使用 Python 生成迷宫
源代码在这里python-mazeGenerate a maze using Pythonimport matplotlib.pyplot as pltimport numpy as npfrom maze import Mazemaze=np.zeros(shape=(100,100))start_point=np.array([0,0])maze_generator=Maz...
2019-08-08 22:05:12
2486
原创 如何证明我们的世界是真实的,而镜子里的世界是虚假的
如何证明我们的世界是真实的,而镜子里的世界是虚假的刚刚剪头发时,想到这个问题。这真是一个有趣的问题,因为我能想到的大多数证明方式,都被否定了。证明方法1: 运用自由意志当我抬起左手的时候,镜子中的人一定抬起右手,由此证明镜中人是傀儡。这种证明方法是错误的,因为在镜中人看来,是他抬起右手,导致你抬起左手。如果想让你的论证成立,你必须证明你是有自由意志的,而不是唯机械的。而自由意志是...
2019-02-22 22:55:28
1689
1
原创 【爬虫】爬取LeetCode上的全部题目
from bs4 import BeautifulSoupimport requestsr='''<tbody class="reactable-data"><tr><td label="[object Object]"></td><td label="[object Object]">1<
2018-06-27 22:56:58
697
1
原创 利用Python爬虫,对自己的博客进行数据分析
爬虫部分1. 读取网页from bs4 import BeautifulSoupimport requestsr = requests.get('http://www.guofei.site')soup=BeautifulSoup(r.text,'lxml')2. 网页读取结果r.status_code3. 解析网页import pandas as p...
2018-06-27 09:26:53
847
原创 【Python】【matplotlib】动画
figure.canvas.draw()import matplotlib.pyplot as pltimport numpy as npdef update_data(line): x[:] += 0.1 plt.setp(line, 'ydata', np.sin(x)) fig.canvas.draw()fig, ax = plt.subplots()x = n
2017-09-26 20:29:04
5989
1
原创 【Python】【matplotlib】键鼠响应事件
事件绑定fig.canvas.mpl_connect()import matplotlib.pyplot as pltdef on_key_press(event): print(event.key)fig, ax = plt.subplots()fig.canvas.mpl_connect('key_press_event', on_key_press)plt.show()这段程序
2017-09-26 20:28:23
27379
4
差分进化算法Python实现.zip
2020-03-30
差分进化算法Python实现.zip
2020-03-30
鱼群算法Python实现.zip
2020-03-30
鱼群算法Python实现.zip
2020-03-30
蚁群算法Python实现.zip
2020-03-30
免疫优化算法Python实现.zip
2020-03-30
免疫优化算法Python实现.zip
2020-03-30
蚁群算法Python实现.zip
2020-03-30
模拟退火算法Python实现.zip
2020-03-30
模拟退火算法Python实现.zip
2020-03-30
粒子群算法Python实现.zip
2020-01-10
粒子群算法Python实现.zip
2020-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人