自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

投笔丶从戎的博客

时不时会偷懒の技术人

  • 博客(74)
  • 收藏
  • 关注

原创 #Python杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法

众所周知,Python 是跨平台的解释性语言,我们可以将 Python 源码文件不做任何修改的移动到其他平台上运行。上述方法只能生成本机操作系统和处理器架构下的 so 文件,如果想要生成其它平台和处理器架构的 so 文件,就需要使用交叉编译,笔者在此记录一下实现方法。注:笔者使用的是 ubuntu 22.04 处理器架构为 aarch64,想要生成 ubuntu 22.04 处理器架构为 x86_64 的 so 文件。4.构建交叉编译环境。

2023-11-07 15:36:31 534

原创 #机器学习--深度学习中的优化

这个问题仍然是学术界的热点问题,但是学者们现在猜想,对于足够大的神经网络而言,大部分局部极小值都具有很小的代价函数,我们能不能找到真正的全局最小点并不重要,而是需要在参数空间中找到一个代价很小(但不是最小)的点。位于正特征值对应的特征向量方向的点比鞍点有更大的代价,反之,位于负特征值对应的特征向量方向的点有更小的代价。有些凸函数的底部是一个平坦的区域,而不是单一的全局最小点,但该平坦区域中的任意点都是一个可以接受的解。如果具有很大代价的局部极小值是常见的,那么这将给基于梯度的优化算法带来极大的问题。

2023-05-31 21:02:53 770

原创 #机器学习--深度学习中的正则化

(2)重投影实现的显式约束对优化过程增加了一定的稳定性:当使用较高的学习率时,很可能进入正反馈,即大的权重诱导大梯度,然后使得权重获得较大更新,从而让网络更快地探索参数空间,而且同时还不会让权重脱离限制区域。:到了测试阶段,就不能再使用 Dropout 了,因为这会导致模型不稳定,即每一次相同的输入会产生不同的输出。Bagging 中的所有模型都是独立的,但在 Dropout 的情况下,所有模型。,这样做的显著优点是,只有参数的子集需要被存储在内存中,可以显著减少模型的内存占用。

2023-05-20 16:28:20 693 2

原创 #机器学习--重新看待线性回归

从最终结果来看,两者之间的优化目标是一样的,但从本质上来讲,最小二乘法只是最大似然在正态分布下的一种特殊情况。如果假设其它分布则会有不同的结果,如:伯努利分布下,最大似然估计的结果就是逻辑回归。多项式分布下,最大似然估计的结果就是softmax回归。感兴趣的读者可以自行证明。

2023-05-17 17:05:05 662 1

原创 #Chrome扩展程序开发教程--07:消息传递

因为 content scripts 是注入到网页中运行的,不能直接和扩展程序其它部分共享环境和变量,所以需要一些方式来与扩展程序的其它部分进行通信。扩展程序中的任何一方都可以监听从另一端发出的消息,并在同一通道上作出回应。消息可以是任何有效的 JSON 对象(null、布尔值、数字、字符串、数组或对象)。

2023-04-22 21:06:56 1575

原创 #Chrome扩展程序开发教程--06:Content scripts

Content scripts 是注入到网页中运行的 JavaScript 文件。它可以使用标准的 Document Object Model(DOM)对象来访问网页中内容并对其进行修改。由于安全等原因 content scripts 的运行环境和网页内容本身是隔离的,也就是说网页本身所创建对象和函数,在 content scripts 中是无法访问的,反之亦然。

2023-04-22 21:03:04 2643

原创 #Chrome扩展程序开发教程--05:Service worker

service worker 是一个基于事件的脚本,在后台运行,通常用来协调扩展程序中不同部分的任务和监听浏览器事件,如:扩展程序被安装、打开页面、关闭页面,创建新标签、添加新书签、点击扩展工具栏图标等。service worker 可以使用所有的Chrome API,但 service worker 不能直接与网页的内容直接进行交互,需要与 content scripts 进行通信来间接修改网页的内容(第一章中有介绍)。

2023-04-22 20:58:07 1447

原创 #Chrome扩展程序开发教程--04:权限申请

实现基本功能所需要的必须权限。实现其它功能所需要的可选权限。更安全,最小权限原则。更有说服力,只有当用户启用指定功能时才请求指定权限,让用户能够更好地理解需要授权的权限背后的含义。更容易升级,如果在新的版本中新增了必须权限,则 Chrome 会自动禁用该扩展,但新增可选权限不会。

2023-04-22 20:22:49 2750

原创 #Chrome扩展程序开发教程--03:Manifest

所有的扩展程序必须在根目录中包含且只包含一个 manifest.json 文件。这个文件我们通常称为清单文件,里面记录了关于这个扩展程序的所有元数据:使用的文件,需要的权限,谁来处理事件,谁来处理网页等。本章中笔者对 manifest.json 中所有属性进行了总结,并按照重要性划分成了四部分。

2023-04-22 17:21:27 1568

原创 #Chrome扩展程序开发教程--02:Hello Extensions

这里面的 “action” 用以告诉 Chrome 我们的扩展程序的图标是 hello_extensions.png,并且当用户点击图标时,应当弹出 hello.html 窗口。当我们修改了扩展程序后,为了在浏览器中看到这一变化,必须刷新扩展程序。点击扩展程序的图标(工具栏图标),就可以看到 Hello Extensions 的 popup 窗口了。默认情况下,当在本地加载扩展程序时,它将出现在扩展菜单中。,可以将你的扩展程序固定在工具条上,以便在开发过程中快速访问。4.在 Chrome 中进入。

2023-04-22 14:17:08 665

原创 #Chrome扩展程序开发教程--01:基本概念介绍

引言1、什么是扩展程序?2、Web技术3、Chrome 扩展程序API4、扩展程序架构生产力工具丰富网页网页内容信息聚合。

2023-04-22 13:52:23 809

原创 #Linux杂记--Ubuntu 22.04 从源码安装 Python3.11 记录

直接用包管理工具或者 conda 往往无法安装最新的 Python 版本,比如这次的 Python3.11,或者其它处理器下(ARM等)没有想要的版本的 Python,此时我们就需要从源码进行编译安装了。这里记录一下在一个崭新的 Ubuntu 22.04 系统中从源码编译安装 Python 的过程。

2022-11-13 21:34:22 2374

原创 #机器学习--补充数学基础--信息论

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。用来衡量整个概率分布中的不确定性总量,即遵循这个分布的事件所产生的期望信息总量。表示若一件事发生的概率越低,那么其包含的信息量也就越大。是为了衡量某件事情发生所包含的信息多少。若是连续型随机变量,香农熵被称为。来衡量这两个分布的差异。有两个单独的概率分布。

2022-09-20 22:29:03 390

原创 #Python杂记--Selenium Chrome截取整个页面的图片的办法

首先我们先了解一下什么是Chrome的CDP协议,CDP(Chrome DevTools Protocol) 允许我们检测,调试Chromium, Chrome 和其他基于 Blink的 浏览器. 这个协议被广泛使用. 其中最著名的是 Chrome DevTools,协议的api也由这个团队维护(摘自百度百科)。点击后,在弹出的框中搜索captureScreenshot,即可找到相关功能,我们点击其中的capture full size screenshot,就能截图整个界面了。..............

2022-08-16 15:21:58 2178

原创 #机器学习--实例--基于梯度优化的线性最小二乘法

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。使得值到直线的误差最小,因此我们需要采用梯度下降算法来找到最小化下式的。读者可以自行调参尝试,以获得更优解。,目标是找到一条直线。...

2022-08-09 18:46:45 426

原创 #机器学习--补充数学基础--概率论

5)当我们知道了一组变量的联合概率分布,但想要了解其中一个子集的概率分布,这种定义在子集上的概率分布被称为。来表示,PMF将随机变量能够取到的每个状态映射到随机变量取得该状态的概率,例如。是可以随机地取不同值的变量,我们通常使用无格式字体中的小写字母,如。用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。,有时候,我们希望概率分布中的所有质量都集中在一个点上,可以通过。的每一个值都可以写成乘积的形式,那么这两个随机变量。来表示随机变量能够取到的值,即一个可能的取值。......

2022-08-09 15:23:31 456

原创 #机器学习--实例--主成分分析

主成分分析(principal components analysis,PCA)是一个简单的机器学习算法,能够在损失精度尽可能少的前提下,对数据进行有损压缩。

2022-08-08 15:46:54 372

原创 #机器学习--补充数学基础--线性代数

正如我们可以通过分解质因数得出整数的一内在些性质,我们也可以通过分解矩阵来发现矩阵表示成数组元素时不明显的函数性质。由于特征分解只能适用于方阵,且某些情况下会涉及复数而非实数,因此为了能够对任意实数矩阵进行分解,提出了另一种分解方式,即。有时候我们可能也希望衡量矩阵的大小,通常使用F(Frobenius)范数,即。一般的,一个数组中的元素分布在若干维坐标的规则网格中,我们称之为。的每一行相加,这种简写方法使我们无须在加法操作前定义一个将向量。具有相同的特征值,因此通常我们讨论特征向量时只考虑单位特征向量。.

2022-08-07 14:47:54 422

原创 #机器学习--高等数学基础--第五章:多元函数微分法

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。 定义1:设 DDD 是 R2R^{2}R2 的一个非空子集,称映射 f:D→Rf:D\to Rf:D→R 为定义在 DDD 上的二元函数,通常记为 z=f(x,y),(x,y)∈Dz=f(x,y),(x,y)\in Dz=f(x,y),(x,y)∈D 或 z=f(P),P∈Dz=f(P),P\in Dz=f(P),P∈D ,其中点集 DDD 称为该函数的定义域, xxx 和 yyy 称为

2022-08-06 17:01:28 212

原创 #机器学习--高等数学基础--第四章:不定积分

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。1)连续函数一定有原函数。的带有任意常数项的原函数称为。是单调的可导函数,并且。具有原函数,则有换元公式。,原函数的图形被称为。.........

2022-08-06 09:24:07 221

原创 #机器学习--高等数学基础--第三章:微分中值定理与导数的应用

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。(3)在区间端点处的函数值相等,即。,且等号仅在有限多个点处成立,那么函数。,且等号仅在有限多个点处成立,那么函数。......

2022-08-05 18:15:27 198

原创 #机器学习--高等数学基础--第二章:导数与微分

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。 定义1:设函数 y=f(x)y=f(x)y=f(x) 在点 x0x_{0}x0​ 的某个邻域内有定义,当自变量 xxx 在 x0x_{0}x0​ 处取得增量 Δx\Delta xΔx (点 x0+Δxx_{0}+\Delta xx0​+Δx 仍在该邻域内)时,相应地,因变量取得增量 Δy=f(x0+Δx)−f(x0)\Delta y=f(x_{0}+\Delta x)-f(x_{0})Δ

2022-08-05 17:03:57 176

原创 #机器学习--高等数学基础--第一章:函数与极限

本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。 定义1:设 X、YX、YX、Y 是两个非空集合,如果存在一个法则 fff ,使得对 XXX 中每个元素 xxx ,按法则 fff ,在 YYY 中有唯一确定的元素 yyy 与之对应,那么称 fff 为从 XXX 到 YYY 的映射,记作 f:X→Yf:X\to Yf:X→Y ,其中 yyy 称为元素 xxx (在映射 fff 下)的像,并记作 f(x)f(x)f(x) ,即 y=f(x)

2022-08-04 22:39:58 243

原创 #Python杂记--multiprocessing.Queue和gevent冲突问题以及linux下subprocess.Popen的坑

当同时使用gevent和multiprocessing时,会带来一些冲突,比如以下代码,运行后会报错ValueErrorsemaphoreorlockreleasedtoomanytimes。二、放弃gevent,使用asynico模块实现协程,或者threading替代协程。一、使用gipc库解决冲突问题。.........

2022-07-27 23:43:09 619

原创 #Linux杂记--Ubuntu 非 headless 模式运行 selenium 方法

众所周知,linux的shell环境下由于没有显示器环境变量,导致selenium启动Chrome时会出现以下错误,网上大多数教程的解决办法都是以headless模式运行chrome,这样虽然也行,但是某些网站如果以headless模式运行就会被检测,因此本文介绍另一种解决办法。2、通过xvfb启动python。1、安装xvfb。.........

2022-07-27 12:46:43 643

原创 #机器学习--线性代数基础--第四章:相似矩阵及二次型

#机器学习--线性代数基础--第四章:向量组的线性相关性

2022-07-19 21:16:49 365

原创 #JavaCV 中 FFmpegFrameGrabber 使用时的一些注意事项

1、grabber.start()阻塞的解决方案        假设有如下代码,从Socket中读取视频流并显示。FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(clientSocket.getInputStream());grabber.setFormat("h264");grabber.setOption("rtsp_transport", "tcp");gr

2022-03-01 21:23:12 18894 4

原创 #Scrcpy 源码分析

#Scrcpy 源码分析一、什么是Scrcpy二、软件架构三、架构解析四、ADB forawrd五、Server端源码分析1、启动参数2、建立LocalSocket,等待连接3、向Client发送设备信息4、启动控制线程5、发送屏幕数据六、Client端源码分析        写在前面:本文的主旨为分析Scrcpy大致原理,因此对于细节部分就不予深究。一、什么是Scrcpy    &

2022-02-23 13:52:58 5327 3

原创 #Android开发杂记--Jetpack Compose 中的权限申请

#Android开发杂记--Jetpack Compose 中的权限申请引言截图源码引言        目前 Jetpack Compose 的权限申请方面还不太成熟,官方推荐的做法是使用 accompanist ,但该库尚处于 Experimental 阶段,且使用起来也不简单。这里记录一下我自己发现的一种非常简单优雅的权限申请方法。截图1、弹出权限申请界面2、权限申请失败界面3、权限申请成功界面源码

2022-02-01 11:18:47 2794

原创 #Linux杂记--Ubuntu 设置开机自启动程序的方法

#日常问题记--Ubuntu 设置开机自启动程序的方法1、创建 rc.local 文件2、添加自启动脚本1、创建 rc.local 文件        1、将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面。ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc

2022-01-13 15:11:46 442

原创 #Linux杂记--Docker pull下载镜像时无法使用proxychains4的解决方案

#日常问题记--Docker pull下载镜像时无法使用proxychains4的解决方案        1、新建systemctl下的配置文件夹:mkdir -p /etc/systemd/system/docker.service.d        2、添加配置文件vim /etc/systemd/system/docker.servi

2022-01-11 22:58:31 2163

原创 #Linux杂记--Linux 访问 Github 的方法(新)

#Linux杂记--Linux 访问谷歌的方法(新)引言工具准备引言        上文说到了使用某科学上网工具访问Gihub的方法,见文章 #Linux杂记–Ubuntu访问Github的方法 。而又由于协议的升级,由原来的旧协议升级为了 新协议 导致原工具全部失效。特此记录基于新协议的工具使用方法。工具准备        在 此链接 中

2021-12-14 20:01:26 1415

原创 #机器学习--线性代数基础--第三章:向量组的线性相关性

#机器学习--线性代数基础--第三章:向量组的线性相关性1、向量的定义2、线性组合3、向量组的线性相关性4、向量组的秩5、向量空间1、向量的定义        nnn 个有次序的数 a1,a2,…,ana_{1},a_{2},\dots ,a_{n}a1​,a2​,…,an​ 所组成的数组称为 nnn 维向量,这 nnn 个数称为该向量的 nnn 个分量,第 iii 个数 aia_{i}ai​ 称为第 iii 个分量。 nn

2021-11-30 09:48:50 1050

原创 #机器学习--线性代数基础--第二章:矩阵及其运算

#线代学习笔记--第二章:矩阵及其运算1、矩阵的定义2、常用矩阵3、矩阵运算1、矩阵的定义        由 m×nm\times nm×n 个数 aija_{ij}aij​ 排成的 mmm 行 nnn 列的数表称为 mmm 行 nnn 列矩阵,简称 m×nm\times nm×n 矩阵。2、常用矩阵        1)、若行数与列数都等于

2021-11-22 19:56:22 872

原创 #机器学习--线性代数基础--第一章:行列式

#线代学习笔记--第一章:行列式引言1、排列及其逆序数2、行列式定义2、行列式性质3、行列式按行展开4、本章总结引言        本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的人快速学习或查阅。1、排列及其逆序数        将 nnn 个元素排成一列,叫做这 nnn 个元素的排列。排列数量有 n

2021-11-22 10:20:25 276 1

原创 #Linux杂记--无法使用putty和pscp以root用户连接ssh和fstp的解决办法

#日常问题记--无法使用putty和pscp以root用户连接的解决办法引言解决问题引言        通常情况下,为了安全,不允许以root身份远程连接,如果直接使用root身份进行操作,putty会提示密码错误,pscp会提示连接失败,如下图:解决问题        1、打开 /etc/ssh/sshd_config 文件。vim

2021-10-09 18:19:42 519

原创 #嵌入式--nomachine远程连接并进行用户登陆后黑屏(白屏、黄屏)的解决办法

#日常问题记--nomachine远程连接并进行用户登陆后黑屏(白屏、黄屏)的解决办法引言解决问题引言        推荐安装了nomachine的目标主机把黑屏给关闭,因为黑屏后需要重新登录,而nomachine在登录后会出现黑屏、白屏、黄屏等现象,导致无法操作。        当然,如果已经出现了此现象,则需要使用以下方法解决:解决问题

2021-10-09 16:28:43 4497

原创 #Jetson-NX踩坑记--Etcher Flash Failed 烧录失败的解决办法

#日常问题记--Etcher 烧录失败的解决办法问题解决方案问题        根据 官方教程 使用 Etcher 烧录 Jetson NX 的镜像文件时总是失败,如图所示:解决方案        关闭电脑中的所有杀毒软件,如火绒等,因为此类软件会干扰 Etcher 的烧录。...

2021-09-26 15:31:34 11302 4

原创 #Android--无需 ROOT 实现自动化脚本,让你的手机拥有无穷的可能(非宣传 APP)

#Android--无需 ROOT 实现自动化脚本引言下载工具写在最后引言        在上一期 #Android–使用Android手机运行一个完整Ubuntu系统(无需ROOT,非虚拟机) ,介绍了如何在 Android 的 Linux 中运行一个完整的 Ubuntu 系统。由于有了完整的操作系统,于是就有了无限的可能,比如能在手机上使用 tensorflow 实时判断当前手机数据等。  &nbs

2021-09-13 22:08:48 9843 1

原创 #Android--使用Android手机运行一个完整Ubuntu系统(无需ROOT,非虚拟机)

#Android--使用Android手机运行一个完整Ubuntu系统(无需ROOT,非虚拟机)引言相关技术介绍使用方法写在最后引言        俗话说得好,Linux不是Android,但Android却天生是Linux。本文将介绍一种方法,可以使用Android手机运行一个完整的Linux系统。        前提:Android系统版本

2021-09-13 14:54:11 5265 4

空空如也

空空如也

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

TA关注的人

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