汇总区间

    前言:排序算法十分重要,先从快排学起。

题目:

228. 汇总区间

给定一个 无重复元素有序 整数数组 nums

返回 *恰好覆盖数组中所有数字最小有序 区间范围列表* 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x

列表中的每个区间范围 [a,b] 应该按如下格式输出:

  • "a->b" ,如果 a != b
  • "a" ,如果 a == b

示例 1:

1
2
3
4
5
6
输入:nums = [0,1,2,4,5,7]
输出:["0->2","4->5","7"]
解释:区间范围是:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"

示例 2:

1
2
3
4
5
6
7
输入:nums = [0,2,3,4,6,8,9]
输出:["0","2->4","6","8->9"]
解释:区间范围是:
[0,0] --> "0"
[2,4] --> "2->4"
[6,6] --> "6"
[8,9] --> "8->9"

提示:

  • 0 <= nums.length <= 20
  • -231 <= nums[i] <= 231 - 1
  • nums 中的所有值都 互不相同
  • nums 按升序排列

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Solution:
def summaryRanges(self, nums: List[int]) -> List[str]:
# res = []
# i = 0
# if len(nums) ==1:
# return [str(nums[0])]
# while i<len(nums):

# if i==0:
# start = nums[i]

# else:

# if nums[i] != nums[i-1]+1:
# if start == nums[i-1]:
# res.append(str(nums[i-1]))
# else:
# res.append("{}->{}".format(start,nums[i-1]))
# start = nums[i]

# if i== len(nums)-1:
# if start == nums[i]:
# res.append(str(nums[i]))
# else:
# res.append("{}->{}".format(start,nums[i]))
# i+=1
# # print(i,start,res)
# return res

res = []
i = 0

while i < len(nums):
j = i+1
while j < len(nums) and nums[j] == nums[j-1]+1:
j+=1

if j==i+1:
res.append(str(nums[i]))
else:
res.append("{}->{}".format(nums[i],nums[j-1]))
i = j
return res

kmp

28. 找出字符串中第一个匹配项的下标

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class Solution:
# def strStr(self, haystack: str, needle: str) -> int:
# l_t = len(needle)
# for i in range(len(haystack)):
# if i+l_t > len(haystack):
# break
# if haystack[i:i+l_t] == needle:
# return i
# return -1

# kmp
def strStr(self, haystack: str, needle: str) -> int:
next_list = self.get_next(needle)
# print(needle,next_list)

i = 0
j = 0
while i < len(haystack) and j<len(needle):
if haystack[i] == needle[j]:
i+=1
j+=1
elif j>0:
j = next_list[j-1]
else:
i+=1

if j == len(needle):
return i-j
return -1

def get_next(self,needle):
next_list = [0]
prefix_len = 0
i = 1
while i<len(needle):
if needle[prefix_len] == needle[i]:
prefix_len +=1
next_list.append(prefix_len)
i+=1
else:
if prefix_len == 0:
next_list.append(0)
i += 1
else:
prefix_len = next_list[prefix_len-1]
return next_list

外设

键盘

Guss GS87D

设备切换:

  • fn+q:设备1-yoga14s
  • fn+w:设备2-oneplus8

    设备配对

  • fn+q/w/e切换到对应连接设备,指示灯常亮后熄灭
  • 长按fn+p直至指示灯闪烁,进入对应设备蓝牙界面连接,连接成功后指示灯停止闪烁

虚假用户检测工作相关论文

虚假用户检测工作相关论文

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection

问题背景:推荐系统的一个默认假设:交互数据能够真实反应用户的兴趣和偏好。但是恶意用户会为推荐系统插入虚假反馈破环假设,减低推荐模型性能。因此需要构建鲁棒性的推荐系统模型(能够识别欺诈者,修正用户数据在模型中的权重)

test:

前人相关工作:

  • 提升推荐系统鲁棒性:在矩阵分解优化函数中添加m估计量
  • 欺诈者检测并删除欺诈者:过程容易出错,将正常用户识别为欺诈者

主要工作:

  • 提出基于GCN的表示学习框架GraphRfi用于鲁棒推荐(评分预测任务)和欺诈者检测(分类任务),两个任务在训练中相互增强。
    • 欺诈者概率用于评判用户数据对评分预测任务的重要性
    • 评分预测的误差用于欺诈者检测特征(从认知心理学的角度来看,一个正常用户的行为应该是一致和可预测的[46]。因此,如果一个用户的明显评分与一个精确的推荐模型所预测的评分有很大偏差,那么这个用户最有可能是一个骗子。)

本文工作的优势:

  • 将两个工作结合,充分利用用户可靠特征(用户正负评价分布、用户评价数量等评分统计信息)进行模型训练。
  • 端到端模型,欺诈者检测和评分任务相互耦合

image-20221017152707559

GCN-based Rating Prediction Component

图结构:有向二分图

任务1:利用多源数据(user_rating、user_features)进行用户嵌入表示

$z_u$表示user embedding ,且$z_u^0=\pmb{x_u}$

$z_v$表示item embedding,$z_v^0$随机初始化

网络迭代过程是一个信息传递的过程(图卷积迭代)

image-20221018010548570

$e_r$为评分r的embedding(评分就是1到5)

$h_v$表示从item $v\in{N(u)}$节点传递过来的信息,$N(u)$表示用户u交互过的v的集合

image-20221018010905809

  • 更新$z_u$,通过注意力权重进行特征信息聚合

image-20221018005410401

image-20221018005444912

image-20221018005217562

image-20221018005251528

  • 更新$z_v$

image-20221018005531417

  • user-item二分图卷积算法流程:

image-20221018005556064

通过不断卷积迭代,得到的节点表示综合了节点本身和所有连接到它们的节点信息

任务2:评分预测

  • 将$z_u$和$z_v$拼接,接入一个线性层进行评分预测

image-20221018010758593

NRF-based Fraudster Detection Component

欺诈者检测模块是一个有监督分类器:随机森林不可微,因此使用神经随机森林,

  • 将数据评分的误差作为特征引入欺诈者检测模块

image-20221018011112165

image-20221018011140145

image-20221018011207083

$z_u^*$是user的稠密表示,是神经随机树的输入

每个决策节点对应一个权重向量w,和输入特征算内积过sigmoid得到走左子树的概率,右子树概率即为用1去减,根据概率大小(大于0.5走左子树)可以确定每个样本的决策路径,而叶子结点根据最终落进去的样本频数可以得到$y=1,0$的概率分布$\pi$, 通过样本连乘积得到一个batch的联合概率分布

image-20221018013527840

模型训练

两个模块损失联合训练

image-20221018014052533

实验

数据集

  • yelp数据集:使用前人标记的虚假评论区分虚假用户

  • amazon数据集:选择收到评论点赞或反对总票数大于20的用户,如果点赞数比例大于0.7标记为正常用户,比例低于0.3标记为欺诈者

评价

  • 评分任务:mse、mae,同时为测试集注入不同比例的欺诈者,测试模型的性能波动

image-20221018020904856

  • 虚假用户检测:查准率、查全率、f1

image-20221018020958467

  • 鲁棒性:利用欺诈者数据模拟不同攻击模式进行模型测试

image-20221018021110587

测验1解析

  1. 线性变换:

    1. 数值意义上,变换即函数,线性变换就是一阶导数为常数的函数
    2. 几何意义上,线性变换表示的是直线的特性,符合两个性质:变换前后零点不变,变换前后直线还是直线。将空间中的向量围绕零点进行旋转伸缩,但不能将其弯曲,否则则是非线性变化。
  2. 欠拟合:欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

    1. 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间;
    2. 添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强;
    3. 减少正则化参数,正则化的目的是用来防止过拟合的,但是模型出现了欠拟合,则需要减少正则化参数;
    4. 使用非线性模型,比如核SVM 、决策树、深度学习等模型;
    5. 调整模型的容量(capacity),通俗地,模型的容量是指其拟合各种函数的能力;
    6. 容量低的模型可能很难拟合训练集;使用集成学习方法,如Bagging ,将多个弱学习器Bagging。
  3. 关于性能度量标准ROC与AUC,下列说法不正确的是 (A)使用排除法

    A.均等代价下,ROC曲线不能直接反映出学习器的期望总体代价:ROC评估的就是均等代价下学习器的性能(期望总体代价),非均等代价需要引入代价曲线

    B.若某个学习器的ROC曲线被另一个学习器的曲线“包住”,则后者性能优于前者:横轴相等时,外圈真正例率更高,所以外圈曲线更优

    C.如果ROC曲线交叉,可以根据ROC曲线下面积大小进行比较,也即AUC值.:ROC不是一个数值,因此可以根据面积大小比较不同分类器的性能,即AUC

    D.AUC衡量了样本预测的排序质量:AUC另一个计算方法:所有样本按 Score 值排序后,在样本集中随机抽取 1 个正类样本和 1 个负类样本,AUC 值指出了所抽取的正类样本能排在所抽取的负类样本之前的概率。

    1. ROC曲线: https://zhuanlan.zhihu.com/p/48168711

      • 横轴:假正例率,在所有负例当中, 错误的判断为正例所占的比例。越小越好

      • 纵轴:真正利率,也就是在所有正例当中,正确判断为正例的占的比例,实际就是精度。越大越好

      • | | | 预测 | 预测 | |
        | :—: | :—: | :—: | :—: | ————————————— |
        | | | 1 | 0 | |
        | 标签 | 1 | TP | FN | 真正利率:TPR =TP/(TP+FN) |
        | 标签 | 0 | FP | TN | 假正例率:FPR = FP/(TP+FN) |

    2. AUC:roc曲线下的面积

      • Fawcett, 2006 :所有样本按 Score 值排序后,在样本集中随机抽取 1 个正类样本和 1 个负类样本,AUC 值指出了所抽取的正类样本能排在所抽取的负类样本之前的概率。
    3. 代价曲线:

      • ROC 乃至最后计算 AUC 的整个过程中,假 1(FP)和假 0(FN)皆被同等对待(均等代价),但实际情况下FP 和 FN 的后果是不一样的(非均等代价

      • 目的:对于一个模型,根据p不同,找到使得代价总期望最小的模型的阈值

      • 明确参数 : p=m+/m

      • 横轴:归一化的正概率代价期望

      • 纵轴:归一化的总代价期望

  4. 方差偏差

    1. 6.关于偏差和方差,下列说法正确的是(D)

      A.方差度量了学习算法期望预测与真实结果的偏离程度:偏差

      B.偏差度量了同样大小训练集的变动所导致的学习性能的变化:方差

      C.噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的上界:下届

      D.一般来说,偏差与方差是有冲突的

    • 方差:不同的训练数据集训练出的模型输出值之间的差异。(预测值离散程度)。刻画的是数据扰动对模型的影响。高方差表示模型过拟合。

    • 偏差:预测值与真实值之间的差值,是衡量预测值与真实值的关系。用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。刻画了学习算法本身的拟合能力。 高偏差表明模型欠拟合

    • 噪声(Noise)是当前学习任务上任何学习算法所能达到的期望泛化误差的下界,即表示了任务本身的难度(任何算法误差都不可能低于该噪声值)。

      • ​ 泛化误差可以分解为偏差、方差和噪声之和。
    • 偏差-方差窘境

      • 一般来说,偏差与方差是有冲突的,称为偏差-方差窘境
      • 在这里插入图片描述
      • 在训练不足时,学习器拟合能力不强,训练数据的扰动不足以使学习器的拟合能力产生显著变化,此时偏差主导泛化错误率
      • 训练充足后,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的显著变化,方差主导泛化误差。(若训练数据自身非全局特性被学到则会发生过拟合。)
  5. 对数几率回归用于二分类

  6. 对于非凸函数(深层神经网络),梯度优化找到的是局部极小值。(好在实践应用中,通过梯度下降法找到的局部最小值,大部分情况下已经可以满足我们的应用需求,并且有时候为了得到更好的结果,用随机初始化训练多次得到多个局部最小值进行比较得到更优的结果。)

  7. 参考题目6,深度为4的决策树的拟合能力大于深度为2的决策树(训练充足),因此var(T1) < var(T2)bias(T1)>bias(T2)

    • 拟合能力强,方差大,

    • 拟合能力弱,偏差大

  8. 决策树确保每个叶子节点为纯类会增加过拟合

  9. 你刚刚训练完一个垃圾邮件分类的随机森林,它在验证集上表现异常糟糕,但在训练集上表现良好。假设实现没有错误,以下哪个原因不会导致这个问题?(A)

    A.决策树高度过小

    B.在选择分割时随机采样了过多的特征

    C.森林中的树太少

    训练集好,验证集差,考虑出现过拟合

    • 决策树高度过高才会出现过拟合
    • 随机森林树的数量过多会抵消随机性的引入,最后的模型会是一个过拟合的模型,其泛化性能也会降低。
  10. adaboost

    • 先通过对N个训练样本的学习得到第一个弱分类器;

    • 将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器 ;

    • 将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;

    • 最终经过提升的强分类器。即某个数据被分为哪一类要由各分类器权值决定。

  11. 单层感知机无法解决异或问题

  12. 误差逆传播以目标的梯度负方向对参数进行调整

  13. 关于数据集拆分方法,下列说法不正确的是(D)

    A. 留出法要求训练/测试集划分要尽可能保持数据分布的一致性

    B. 留一法不受随机样本划分方式的影响:每次使用 m-1 个样例进行训练,只用1 个样例进行测试

    C. 自助法在数据集较小、难以有效划分训练/测试集时很有用:自助法则是使用有放回重复采样 的方式进行数据采样

    D. 交叉验证法改变了初始数据集的分布,这会引入估计偏差:自助法改变了数据的初始分布导致会引入估计偏差

  14. 下列关于线性判别分析的说法错误的是(D)

    A. 欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小

    B. 欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大

    C. 线性判别分析可以用来处理二分类问题

    D. 线性判别分析可以视为一种无监督降维技术:有监督降维技术

判断题

  1. 使用验证集调整超参数

  2. 会存在无用特征

  3. 正则化

    • L1正则化,又叫Lasso Regression,L1是向量各元素的绝对值之和
    • L2正则化,又叫Ridge Regression,L2是向量各元素的平方和,然后再求平方根
    • L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,用于特征选择。

    • L2正则化可以产生参数值较小的模型,能适应不同的数据集,一定程度上防止过拟合,抗扰动能力强。

    • L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况。

  4. 激活函数 tanh值域为[-1,1]。

Albumentation文档

Albumentation文档

一、简介

Albumentations 是一个用于图像增强的 Python 库。图像增强可用于深度学习和计算机视觉任务以提高训练模型的质量。该库广泛应用于工业界深度学习研究机器学习竞赛开源项目
图像增强:分为像素级增强和空间级增强

  • 对于图像分割任务
    • 像素级增强会更改原始图像的像素值,但不会更改输出蒙版;
    • 空间级增强会改变图像和掩模,此时需要重新标注;
  • 物体检测任务:
    • 像素级增强同样不会改变输出;
    • 像素级增强在对图像应用变换同时,还需要对边界框坐标应用相同的变换,更新边界框的坐标以正确表示增强图像上对象的位置。
      优势:
  • 处理速度更快
  • 适用多种任务:图像分类、语义分割、实例分割、对象检测、关键点检测
    • 对于图像分类任务:镜像、裁剪、改变亮度和对比度等基本图像变换满足任务要求;
    • 但对于分割、对象检测和关键点检测等任务,应用空间级增强后还需对蒙版或边界框等进行更新,Albumentation在对此类任务进行空间级增强后会对蒙版、边框等标签应用相同的变化,这大大减少了重新标注数据的工作量。
  • 支持以管道的形式调用统一的接口进行图像转换:
    1
    2
    3
    4
    5
    6
    7
    import albumentations as A

    transform = A.Compose([
    A.RandomCrop(512, 512),
    A.RandomBrightnessContrast(p=0.3),
    A.HorizontalFlip(p=0.5),
    ])

二、安装和使用

从 PyPI 安装最新的稳定版本

1
pip install -U albumentations

Demo示例
1
2
3
4
5
6
7
8
9
10
11
import albumentations as A
import cv2
transform = A.Compose([
A.RandomCrop(width=256, height=256),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.2),
])
image = cv2.imread("/path/to/image.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
transformed = transform(image=image)
transformed_image = transformed["image"]

三、API

参数说明

  • p:api生效的概率,为0到1之间的小数;
  • always_apply:是否一直生效,always_apply=True会忽略p,直接生效。

    像素级增强

  1. AdvancedBlur
    • 说明:使用带有随机选择参数的广义法线滤波器对输入图像模糊处理。此变换还在卷积前向生成的内核添加乘性噪声。
    • 参数:
      • ```python
        blur_limit=(11, 21), sigmaX_limit=(0.2, 1.0), sigmaY_limit=(0.2, 1.0), rotate_limit=90, beta_limit=(0.5, 8.0), noise_limit=(0.9, 1.1), always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.AdvancedBlur.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/AdvancedBlur
        2. Blur
        - 说明:使用随机大小的内核模糊输入图像。
        - 参数:
        - ```python
        blur_limit=7, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Blur
  2. CLAHE
    • 说明:在输入图像上应用对比度有限的适应直方图均衡化。
    • 参数:
      • ```python
        clip_limit=4.0, tile_grid_size=(8, 8), always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.CLAHE.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/CLAHE
        4. ChannelDropout
        - 说明:输入图像中的随机丢弃通道。
        - 参数:
        - ```python
        channel_drop_range=(1, 1), fill_value=0, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/ChannelDropout
  3. ChannelShuffle
    • 说明:随机重新排列输入 RGB 图像的通道。
    • 参数:
      • ```python
        always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.ChannelShuffle.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/ChannelShuffle
        7. ColorJitter
        - 说明:随机更改图像的亮度、对比度和饱和度。 与 torchvision 的 ColorJitter 相比,此转换给出的结果略有不同,因为 Pillow(在 torchvision 中使用)和 OpenCV(在 Albumentations 中使用)通过不同的公式将图像转换为 HSV 格式。 另一个区别 是 Pillow 使用 uint8overflow,但Albumentations 使用值饱和。
        - 参数:
        - ```python
        brightness=0.2, contrast=0.2, saturation=0.2, hue=0.2, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/ColorJitter
  4. Defocus
    • 说明:使用离焦变换,请参考 https://arxiv.org/abs/1903.12261。
    • 参数:
      • ```python
        radius=(3, 10), alias_blur=(0.1, 0.5), always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Defocus.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Defocus
        9. Downscale
        - 说明:通过缩小和放大来降低图像质量。
        - 参数:
        - ```python
        scale_min=0.25, scale_max=0.25, interpolation=None, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Downscale
  5. Emboss
    • 说明:对输入图像进行浮雕并将结果与原始图像叠加。
    • 参数:
      • ```python
        alpha=(0.2, 0.5), strength=(0.2, 0.7), always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Emboss.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Emboss
        11. Equalize
        - 说明:均衡图像直方图。
        - 参数:
        - ```python
        by_channels=True, mask=None, mask_params=(), always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Equalize
  6. FancyPCA
    • 说明:使用 Krizhevsky 论文中的 FancyPCA 增强 RGB 图像
    • 参数:
      • ```python
        alpha=0.9, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.FancyPCA.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/FancyPCA
        13. FromFloat
        - 说明:获取一个输入数组,其中所有值都应在 [0, 1.0] 范围内,将它们乘以“max_value”,然后将结果值转换为“dtype”指定的类型。 如果“max_value”为“None”,则转换将尝试从“dtype”参数推断数据类型的最大值。
        - 参数:
        - ```python
        max_value=None, always_apply=False, p=1.0
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/FromFloat
  7. GaussNoise
    • 说明:对输入图像应用高斯噪声。
    • 参数:
      • ```python
        var_limit=(10.0, 90.0), mean=0, per_channel=True, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.GaussNoise.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/GaussNoise
        15. GaussianBlur
        - 说明:模糊的输入图像使用高斯滤波器与随机核大小。
        - 参数:
        - ```python
        blur_limit=(3, 7), sigma_limit=0, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/GaussianBlur
  8. GlassBlur
    • 说明:对输入图像应用玻璃噪声。
    • 参数:
      • ```python
        sigma=0.7, max_delta=4, iterations=2, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.GlassBlur.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/GlassBlur
        17. HueSaturationValue
        - 说明:HueSaturationValue
        - 参数:随机改变输入图像的色调、饱和度和明度。
        - ```python
        hue_shift_limit=90, sat_shift_limit=30, val_shift_limit=20, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/HueSaturationValue
  9. ISONoise
    • 说明:应用照相机传感器噪声。
    • 参数:
      • ```python
        color_shift=(0.01, 0.05), intensity=(0.1, 0.5), always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.ISONoise.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/ISONoise
        19. ImageCompression
        - 说明:减少图像的 Jpeg、WebP 压缩。
        - 参数:
        - ```python
        quality_lower=1, quality_upper=100, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/ImageCompression
  10. InvertImg
    • 说明:通过从255减去像素值来反转输入图像。
      • 参数:
        • ```python
          always_apply=False, p=1
          1
          2
          3
          4
          5
          6
          7
          8
          9
              - 样例输出
          - ![img](allbumentation/dog.jpg)
          - ![img](allbumentation/dog.jpg.albumentations.InvertImg.jpg&t=0.jpeg)
          - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/InvertImg
          21. MedianBlur
          - 说明:使用具有随机孔径线性尺寸的中值滤波器模糊输入图像。
          - 参数:
          - ```python
          blur_limit=11, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/MedianBlur
  11. MotionBlur
    • 说明:使用随机大小的内核将运动模糊应用于输入图像。
    • 参数:
      • ```python
        blur_limit=7, allow_shifted=True, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.MotionBlur.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/MotionBlur
        23. MultiplicativeNoise
        - 说明:将图像乘以随机数或数组。
        - 参数:
        - ```python
        multiplier=(0.9, 1.9), per_channel=False, elementwise=False, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/MultiplicativeNoise
  12. Normalize
    • 说明:通过以下公式应用归一化:“img = (img -mean max_pixel_value) / (std max_pixel_value)”
    • 参数:
      • ```python
        mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Normalize.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Normalize
        25. Posterize
        - 说明:减少每个颜色通道的位数。
        - 参数:
        - ```python
        num_bits=4, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/Posterize
  13. RGBShift
    • 说明:随机移动输入 RGB 图像的每个通道的值。
    • 参数:
      • ```python
        r_shift_limit=20, g_shift_limit=20, b_shift_limit=20, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
            - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RGBShift.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RGBShift
        27. RandomBrightnessContrast
        - 说明:随机改变输入图像的亮度和对比度。
        - 参数:
        - ```python
        brightness_limit=0.2, contrast_limit=0.2, brightness_by_max=True, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomBrightnessContrast
  14. RandomFog
  15. RandomRain
    • 说明:添加下雨效果。 来自 https://github.com/UjjwalSaxena/Automold--Road-Augmentation-Library
    • 参数:
      • ```python
        slant_lower=-10, slant_upper=10, drop_length=20, drop_width=1, drop_color=(200, 200, 200), blur_value=7, brightness_coefficient=0.7, rain_type=None, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomRain.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomRain
        31. RandomShadow
        - 说明:模拟图像的阴影。来自 https://github.com/UjjwalSaxena/Automold--Road-Augmentation-Library
        - 参数:
        - ```python
        shadow_roi=(0, 0.5, 1, 1), num_shadows_lower=1, num_shadows_upper=2, shadow_dimension=5, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomShadow
  16. RandomSnow
    • 说明:模拟雪景漂白一些像素值。来自 https://github.com/UjjwalSaxena/Automold--Road-Augmentation-Library
    • 参数:
      • ```python
        snow_point_lower=0.1, snow_point_upper=0.3, brightness_coeff=2.5, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomSnow.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomSnow
        33. RandomSunFlare
        - 说明:模拟图像的太阳耀斑。来自 https://github.com/UjjwalSaxena/Automold--Road-Augmentation-Library
        - 参数:
        - ```python
        flare_roi=(0, 0, 1, 0.5), angle_lower=0, angle_upper=1, num_flare_circles_lower=6, num_flare_circles_upper=10, src_radius=400, src_color=(255, 255, 255), always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomSunFlare
  17. RandomToneCurve
    • 说明:通过操纵色调曲线来随机改变图像的亮区和暗区之间的关系。
    • 参数:
      • ```python
        scale=0.6, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomToneCurve.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_pixel/RandomToneCurve
        ### 空间级增强
        1. Affine
        - 说明:将仿射变换应用于图像的增强。主要是 OpenCV 中相应类和函数的包装。
        - 参数:
        - ```python
        scale=None, translate_percent=None, translate_px=None, rotate=None, shear=None, interpolation=1, mask_interpolation=0, cval=0, cval_mask=0, mode=0, fit_output=False, keep_ratio=False, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Affine
  18. CenterCrop
    • 说明:裁剪输入的中心部分。
    • 参数:
      • ```python
        height=200, width=300, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.CenterCrop.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/CenterCrop
        3. CoarseDropout
        - 说明:图像中矩形区域的 CoarseDropout。
        - 参数:
        - ```python
        max_holes=8, max_height=8, max_width=8, min_holes=None, min_height=None, min_width=None, fill_value=0, mask_fill_value=None, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/CoarseDropout
  19. Crop
    • 说明:从图像中裁剪区域。
    • 参数:
      • ```python
        x_min=0, y_min=0, x_max=300, y_max=200, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Crop.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Crop
        5. ElasticTransform
        - 说明:图像的弹性变形。
        - 参数:
        - ```python
        alpha=1, sigma=50, alpha_affine=50, interpolation=1, border_mode=4, value=None, mask_value=None, always_apply=False, approximate=False, same_dxdy=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/ElasticTransform
  20. Flip
    • 说明:水平、垂直或水平和垂直翻转输入。
    • 参数:
      • ```python
        always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Flip.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Flip
        7. GridDistortion
        - 说明:网格畸变。
        - 参数:
        - ```python
        num_steps=5, distort_limit=0.3, interpolation=1, border_mode=4, value=None, mask_value=None, normalized=False, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/GridDistortion
  21. GridDropout
    • 说明:以网格方式丢弃图像的矩形区域和相应的掩模。
    • 参数:
      • ```python
        ratio=0.5, unit_size_min=None, unit_size_max=None, holes_number_x=None, holes_number_y=None, shift_x=0, shift_y=0, random_offset=False, fill_value=0, mask_fill_value=None, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.GridDropout.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/GridDropout
        9. HorizontalFlip
        - 说明:绕 y 轴水平翻转输入。
        - 参数:
        - ```python
        always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/HorizontalFlip
  22. Lambda
    • 说明:用户自定义变换函数。
    • 参数:
      • ```python
        image=None, mask=None, keypoint=None, bbox=None, name=None, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Lambda.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Lambda
        11. LongestMaxSize
        - 说明:重新缩放图像,使最大边等于 max_size,同时保持初始图像的纵横比。
        - 参数:
        - ```python
        max_size=300, interpolation=1, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/LongestMaxSize
  23. NoOp
    • 说明:不做任何处理。
    • 参数:
      • ```python
        always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.NoOp.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/NoOp
        13. OpticalDistortion
        - 说明:光学畸变。
        - 参数:
        - ```python
        distort_limit=0.95, shift_limit=0.95, interpolation=1, border_mode=4, value=None, mask_value=None, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/OpticalDistortion
  24. PadIfNeeded
    • 说明:如果边数小于所需数量,则填充图像的边数/最大值。
    • 参数:
      • ```python
        min_height=450, min_width=700, pad_height_divisor=None, pad_width_divisor=None, border_mode=4, value=None, mask_value=None, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
           - 样例输出
        - ![img](allbumentation/dog.jpg)<img src="allbumentation/dog.jpg.albumentations.PadIfNeeded.jpg&t=0.jpeg" alt="img" style="zoom: 80%;" />
        15. Perspective
        - 说明:对输入执行随机四点透视变换。
        - 参数:
        - ```python
        scale=(0.05, 0.1), keep_size=True, pad_mode=0, pad_val=0, mask_pad_val=0, fit_output=False, interpolation=1, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/PadIfNeeded
  25. PiecewiseAffine
    • 说明:应用局部邻域之间不同的仿射变换。 这种增强在图像上放置规则的点网格,并通过仿射变换随机移动这些点的邻域。 这会导致局部扭曲。
    • 参数:
      • ```python
        scale=(0.03, 0.05), nb_rows=4, nb_cols=4, interpolation=1, mask_interpolation=0, cval=0, cval_mask=0, absolute_scale=False, always_apply=False, keypoints_threshold=0.01, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.PiecewiseAffine.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/PiecewiseAffine
        17. PixelDropout
        - 说明:以一定概率将像素设置为 0。
        - 参数:
        - ```python
        dropout_prob=0.01, per_channel=False, drop_value=0, mask_drop_value=None, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/PixelDropout
  26. RandomCrop
    • 说明:随机裁切。
    • 参数:
      • ```python
        height=250, width=400, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomCrop.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomCrop
        19. RandomCropFromBorders
        - 说明:从图像中裁剪 bbox,从边框中随机剪切部分,最后不调整大小
        - 参数:
        - ```python
        crop_left=0.1, crop_right=0.1, crop_top=0.1, crop_bottom=0.1, always_apply=False, p=1.0
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomCropFromBorders
  27. RandomResizedCrop
    • 说明:Torchvision 的变体裁剪输入的随机部分并将其调整为一定大小。
    • 参数:
      • ```python
        height=200, width=300, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=1, always_apply=False, p=1.0
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomResizedCrop.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomResizedCrop
        21. RandomRotate90
        - 说明:将输入随机旋转 90 度零次或多次。
        - 参数:
        - ```python
        always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomRotate90
  28. RandomScale
    • 说明:
    • 参数:
      • ```python
        scale_limit=0.1, interpolation=1, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.RandomScale.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomScale
        23. RandomSizedCrop
        - 说明:裁剪输入的随机部分并将其重新缩放到一定大小。
        - 参数:
        - ```python
        min_max_height=[100,300], height=250, width=400, w2h_ratio=1.0, interpolation=1, always_apply=False, p=1.0
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/RandomSizedCrop
  29. Resize
    • 说明:将输入的大小调整为给定的高度和宽度。
    • 参数:
      • ```python
        height=250, width=400, interpolation=1, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.Resize.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Resize
        25. Rotate
        - 说明:将输入旋转从均匀分布中随机选择的角度。
        - 参数:
        - ```python
        limit=90, interpolation=1, border_mode=4, value=None, mask_value=None, crop_border=False, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Rotate
  30. SafeRotate
    • 说明:将输入在输入框架内旋转从均匀分布中随机选择的角度。
    • 参数:
      • ```python
        limit=90, interpolation=1, border_mode=4, value=None, mask_value=None, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.SafeRotate.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/SafeRotate
        27. ShiftScaleRotate
        - 说明:随机应用仿射变换:平移、缩放和旋转输入。
        - 参数:
        - ```python
        shift_limit=0.0625, scale_limit=0.1, rotate_limit=45, interpolation=1, border_mode=4, value=None, mask_value=None, shift_limit_x=None, shift_limit_y=None, always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/ShiftScaleRotate
  31. SmallestMaxSize
    • 说明:重新缩放图像,使最小边等于 max_size,同时保持初始图像的纵横比。
    • 参数:
      • ```python
        max_size=300, interpolation=1, always_apply=False, p=1
        1
        2
        3
        4
        5
        6
        7
        8
        9
           - 样例输出
        - ![img](allbumentation/dog.jpg)
        - ![img](allbumentation/dog.jpg.albumentations.SmallestMaxSize.jpg&t=0.jpeg)
        - 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/SmallestMaxSize
        29. Transpose
        - 说明:通过交换行和列来转置输入。
        - 参数:
        - ```python
        always_apply=False, p=1
    • 样例输出
      • img
      • img
    • 访问链接:https://demohub.bjtu.edu.cn/#/model/augmentations/albumentations_spatial/Transpose
  32. VerticalFlip

linux开发

ldd命令

  • ldd命令是Linux系统中的一个命令,用于查看可执行文件或共享库文件所依赖的共享库列表。该命令会输出一个文件或共享库文件所依赖的共享库列表,以及这些共享库的绝对路径。如果一个文件或共享库文件没有依赖任何共享库,那么该命令将会输出一条信息,说明该文件或共享库文件不需要依赖任何共享库 。
  • ldd /usr/bin/vim

ssh和sshd命令

ssh和sshd都是Linux系统中的命令,用于远程登录和控制。其中,ssh是客户端命令,用于连接远程服务器;而sshd是服务端命令,用于接受远程连接请求并提供相应的服务

dpkg

  • dpkg是Debian Linux系统中的一个命令,用于管理安装在系统上的软件包。该命令可以用于安装、卸载、查询、更新和管理软件包。dpkg命令可以与apt-get命令一起使用,以便更好地管理软件包 .
  • dpkg和apt都是Debian Linux系统中的命令,用于管理安装在系统上的软件包。其中,dpkg是Debian Linux系统中的低级别工具,用于安装、卸载、查询、更新和管理软件包。而apt是Debian Linux系统中的高级别工具,它可以自动解决依赖关系并安装软件包 .

您可以通过以下方式来查看软件是通过apt安装还是源码安装:

如果您使用的是Debian或Ubuntu等基于Debian的Linux发行版,可以使用以下命令来查看软件包的安装方式:

1
dpkg -s <package_name> | grep "Source: "

如果输出结果中包含Source: package,则表示该软件包是通过源码编译安装的;否则,该软件包是通过apt安装的。

如果您使用的是Red Hat、CentOS、Fedora等基于Red Hat的Linux发行版,可以使用以下命令来查看软件包的安装方式:

1
rpm -qi <package_name> | grep "Source RPM"

如果输出结果中包含Source RPM,则表示该软件包是通过源码编译安装的;否则,该软件包是通过yum或dnf等工具安装的。

1
2
(base) user@user-Super-Server:~$ dpkg -s ssh | grep "Source:"
Source: openssh

添加新用户

  1. 打开终端并输入以下命令以创建新用户:
1
sudo adduser guanan
  1. 输入新用户的密码并按照提示输入其他信息。如果您不想输入其他信息,可以直接按回车键跳过。

  2. 确认新用户已成功创建后,将其添加到sudo组以授予其超级权限:

1
sudo usermod -aG sudo guanan
  1. 现在,您可以使用以下命令切换到新用户:
1
su - guanan

crontab自动化执行

在Linux中,你可以使用crontab命令来设置定时任务。以下是一些基本步骤:

  1. 打开终端。

  2. 输入crontab -e命令来编辑你的crontab文件。

  3. 在打开的编辑器中,添加一行来定义你的定时任务。每行的格式如下:

    1
    * * * * * command-to-be-executed
    • 第一个*代表分钟(0 - 59)
    • 第二个*代表小时(0 - 23)
    • 第三个*代表一个月中的第几天(1 - 31)
    • 第四个*代表月份(1 - 12)
    • 第五个*代表一个星期中的第几天(0 - 7,0和7都代表星期日)
    • command-to-be-executed代表你想要定时执行的命令

    例如,如果你想要每天凌晨1点执行/home/user/script.sh脚本,你可以添加以下行:

    1
    0 1 * * * /home/user/script.sh
  4. 保存并关闭编辑器。

  5. 你的定时任务现在应该已经设置好了。你可以使用crontab -l命令来查看你的定时任务。

请注意,你需要确保你的命令可以在没有交互的情况下执行,因为cron不会提供任何用户输入。此外,你可能需要在你的命令前面添加一些环境变量,以确保你的命令在正确的环境中执行。

Denoised Self-Augmented Learning for Social Recommendation

Denoised Self-Augmented Learning for Social Recommendation

  1. 背景:社交推荐系统旨在从用户-项目交互图 Gr = {U, V, Er} 和用户用户社交图 Gs = {U, Es} 中学习模型,对用户兴趣进行编码以做出准确的推荐。

  2. 问题:社交推荐中存在很多兴趣不相关的群体,例如同学,同事等。导致社交信息在表征用户偏好时不可避免地会产生噪音。

  3. 贡献:提出DSL(Denoised Self-Augmented Learning)范式:

    1. 自监督去噪:保留有用的社交关系

    2. 跨视图对齐:文章使用双视图图神经网络编码</span>用户社交</span>交互图中的潜在表示。在这个结构中,每个视图都有一个独立的编码器来学习节点的表示,利用可学习的相似性映射函数将两个视图对齐。

结构图:

\<img alt="" data-attachment-key="V7QF7HVQ" width="1000" height="389.21226232052777" src="“Denoised Self-Augmented Learning for Social Recommendation”/V7QF7HVQ.png" ztype="zimage">

  1. 两个视图:

    • 用户商品视图->用户表示$\bar{e}_i^{(r)}$
    • 用户社交视图->用户表示$\bar{e}_i^{(s)}$
  2. 嵌入表示聚合:为了聚合Gr和Gs中不同顺序编码的表示

  3. 用户相似度:

    • 用户商品视图->$z{i,i^`}=[\bar{e}_i^{(r)};\bar{e}{i`}^{(r)}]$

    • 社交网络视图->$\hat{z}{i,i^`}=[\bar{e}_i^{(s)};\bar{e}{i`}^{(s)}]$

    • 相似度融合:d,T,c为可学习参数

  4. 无监督去噪:用户商品视图得到的相似性指导社交视图的相似性

多目标优化

  1. 用户-商品交互可能性:

  2. 用户-用户相似性:

  3. 推荐损失:bpr\<img alt="" data-attachment-key="26APJYWK" width="453" height="69" src="“Denoised Self-Augmented Learning for Social Recommendation”/26APJYWK.png" ztype="zimage">

  4. 社交关系损失:bpr\<img alt="" data-attachment-key="B7SZWJVC" width="461" height="66" src="“Denoised Self-Augmented Learning for Social Recommendation”/B7SZWJVC.png" ztype="zimage">

    其中$u_i+$表示和$u_i$相连接的user,$u_i-$表示和$u_i$未连接的user

  5. 总损失:\<img alt="" data-attachment-key="HNWTNMLX" width="543" height="39" src="“Denoised Self-Augmented Learning for Social Recommendation”/HNWTNMLX.png" ztype="zimage">

实验

  1. 数据集:

    • Ciao:DVD相关评分数据集
    • Epinions:消费者评论网站数据,Epinions适用于社会化推荐任务,规模较大,包含用户对电影的评分信息,同时包含用户间的信任社交信息。
    • Yelp

    \<img alt="" data-attachment-key="AK8H3FW8" width="456" height="132" src="“Denoised Self-Augmented Learning for Social Recommendation”/AK8H3FW8.png" ztype="zimage">

  2. BaseLine

    1. 基于MF的推荐
    • PFM[2007]:一种概率方法,使用矩阵分解将用户和项目分解为表示的潜在向量
      • TrustMF [2016]:将用户之间的社交关系作为社会信息引入矩阵分解,提高推荐性能。
  3. 注意力社交推荐:

    *   EATNN \[2019]:建立在注意力机制上的自适应迁移学习模型,用于聚合来自用户交互和社会关系的信息。
    
    1. GNN增强的社交推荐:
    • DiffNet [2019]:一种深度影响力传播架构,用社交影响力扩散组件递归更新用户的嵌入。
      • DGRec [2019]:该社交推荐系统利用图注意力网络对用户的动态行为模式和社交影响进行联合建模。
    • NGCF+ [ 2019]:一种 GNN 增强型协作过滤方法,通过具有社交意识的用户-项目关系图执行消息传递。
    1. 自监督社交推荐:
      • MHCN [2021]:提出了多通道超图卷积网络,考虑高阶关系来增强社交推荐。
    • KCGN [2021]:通过多任务学习框架将商品的内在知识与社交网络相结合
      • SMIN [2021]:该模型将元路径引导的异构图学习任务引入入社交推荐,使用互信息最大化的自我监督信号。
  4. 实验结果:%Imp 表示相对于所有基线的平均改进。\<img alt="" data-attachment-key="GIUDFBY4" width="1513" height="277" src="“Denoised Self-Augmented Learning for Social Recommendation”/GIUDFBY4.png" ztype="zimage">

  5. 消融实验:设置了三个模型

    • DSL-d:去除跨视图自监督去噪模块即$L_{ssl}$;

    • DSL-s:去除社交模块,即$L_{soc}$;

    • DSL-c:用对比学习损失替代$L_{ssl}$;

    • 实验结果:表明去噪模块和社交网络都有用\<img alt="" data-attachment-key="4UG89AGV" width="718" height="254" src="“Denoised Self-Augmented Learning for Social Recommendation”/4UG89AGV.png" ztype="zimage">

  6. 鲁棒性评估

    1. 数据稀疏:将数据按照节点的度分四类(0,5)、[5,10)、[ 10,15) 和 [20, +∞)\<img alt="" data-attachment-key="BHKE37IR" width="1031" height="633" src="“Denoised Self-Augmented Learning for Social Recommendation”/BHKE37IR.png" ztype="zimage">

    2. 数据噪音:为user-item图添加虚假边(10%、20%、30%)\<img alt="" data-attachment-key="QCK6DRXX" width="1495" height="623" src="“Denoised Self-Augmented Learning for Social Recommendation”/QCK6DRXX.png" ztype="zimage">

      • 归因:
        • 社交网络的自监督信号
        • 跨域的自增强,从交互视图学习有用信息

启发

  • 将模型在稀疏数据上的表现归为鲁棒性,即将数据稀疏问题归为鲁棒性问题,属于推荐任务中的非对抗鲁棒性

github ssh链接失效修复记录

问题

windows10使用ssh-keygen -t rsa重新生成密钥并配置到github 设置后,一直无法连接github,无法push,ssh -T git@github.com提示kex_exchange_identification: Connection closed by remote host

解决

  1. 在申请ssh秘钥之前,首先要重置全局git用户名和邮箱地址。
1
2
$ git config --global user.name "xxx"
$ git config --global user.email "xxx@qq.com"
  1. 使用下面的命令生成秘钥,注意这里一定要加上上面注册的那个邮箱地址
1
2
$ ssh-keygen -t rsa -C "xxx@qq.com"
一路回车,密码为空。
  1. 将_rsa.pub文件中的密码复制粘贴到git或者码云中
  2. 成功
参考

https://blog.csdn.net/weixin_33708432/article/details/88599547

windows常见问题汇总

打开windows的蓝牙界面,出现超级多的“奇异果”设备,导致加载缓慢甚至卡顿

以管理员身份运行PowerShell,并执行以下下命令:

1
Get-PnpDevice | Where-Object {$_.FriendlyName -like "*客厅的奇异果*"}|ForEach-Object{pnputil.exe /remove-device $_.InstanceId }

reference

https://blog.csdn.net/qq_24269643/article/details/107221434

windows10 重启后图标顺序打乱

  1. 打开运行,输入命令Gpedit.msc,点击确定。
  2. 在本地策略组编辑器中打开用户配置/管理模板/桌面。
  3. 在右侧找到退出时不保存设置,双击打开。
  4. 在新窗口中选择已禁用,点击确定。

设置程序开机自启

  • 将应用程序或快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp即可

绿联拓展坞连接显示器唤醒异常

  1. 笔记本型号为yoga14s锐龙5800h版本,使用绿联5合1拓展坞(型号CM418),通过hdmi接口连接外置显示器(LG 27UL550w)
  2. 相关设置如下:
    • 电源和睡眠 设置为30分钟不操作关闭屏幕、从不睡眠;
    • 设备管理器/通用串行总线控制器/属性/电源管理 已关闭全部”允许计算机关闭此设备以节约电源”
    • 高级电源设置/usb选择性暂停设置已禁用;
  3. 问题:
    • 电脑屏幕自动关闭后等待一段时间唤醒电脑屏幕,外接屏幕无信号响应但是笔记本可检测到显示器,拓展坞连接的其他外设工作正常;此时重新插拔拓展坞或者重启电脑,外接显示器才可恢复正常;
    • 如果电脑屏幕自动关闭后一小段时间内唤醒屏幕,外接屏幕正常唤醒;
    • 使用typec转hdmi转换器直接连接显示器没有上述问题
  4. 解决:
    • 暂无解决方案,大概率为拓展坞问题;