自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 多机多GPU分布式计算

问题:之前有遇到过一个需求,假设目前有多个计算节点,需要使用多个计算节点上的多张GPU处理同一个庞大的任务,如何在python环境下搭建这样的集群呢?首先想到的是使用MPI来进行并行节点之间的消息传递,将一个庞大的计算任务分解为多个小任务,来让集群上的多个计算节点处理任务的一部分。关于mpi集群的搭建可以参考这篇博文:MPI集群环境搭建_secyb的博客-CSDN博客_mpi环境配置关于python中的mpi库可以查看:Introduction — MPI for Python 3.1.3 do

2021-12-05 14:49:19 2804 1

原创 多任务学习:Multi-Task Learning as Multi-Objective Optimization

前言 最近在写一篇文章,是一篇深度学习与安全相结合的文章,模型的输出会交给两个损失函数(availability &security)进行损失计算,进而反向传播。起初的想法是直接将两项损失进行加权平均,共同进行反向传播,后面又尝试了先A后B和先B后A的方式。发现模型训练的效果不是很好,因为这两个损失在进行下降时是一种相互制约的关系,如图1所示(侧面也反映了自己设计的连个损失方向是对的)。在epoch到达30w次之后,两者分道扬镳。 考虑到多任务之间的制约,尝...

2021-09-04 13:21:39 3496 6

转载 维度诅咒

分类中的维度诅咒1简介 2维度和过度拟合的诅咒 3如何避免维数的诅咒?介绍在本文中,我们将讨论所谓的“维度诅咒”,并解释在设计分类器时它的重要性。在下面的章节中,我将提供这个概念的直观解释,由一个由于维数诅咒而过度拟合的明显例子说明。考虑一个例子,其中我们有一组图像,每个图像描绘一只猫或一只狗。我们想创建一个能够自动区分狗和猫的分类器。为此,我们首先需要考虑可以用数字表示的每个对象类的描述符,这样数学算法(即分类器)可以使用这些数字来识别对象。例如,我们可以说猫和狗的颜色通常不同。区分这两

2020-08-13 17:02:12 1247

转载 共识算法-BFT

什么是 BFTBFT( Byzantine Fault Tolerance)称为拜占庭容错。拜占庭容错技术是一类分布式计算领域的容错技术。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或中断以及遭到恶意攻击等原因,计算机和网络可能出现不可预料的行为。拜占庭容错技术被设计用来处理这些异常行为,并满足所要解决的问题的规范要求。拜占庭将军问题拜占庭容错技术来源于拜占庭将军问题。 拜占庭将军问题是Leslie Lamport(2013年的图灵讲得住)用来为描述分布式系统一致性问题(Distri.

2020-07-26 12:14:48 600

原创 聚类系数与小世界网络

聚类系数聚类系数也称为聚集系数,源自于社会学中的“可传递三元组比率”,聚类系数描述了网络中个体的邻居节点也互为邻居的可能性。节点i的聚类系数定义为:表示聚集网络中节点i,j之间的连边,若连边存在则= 1,否则= 0;通常来说,聚类系数的大小影响了网络上的传播动力学,当其他参数不变时,平均节点聚类系数越大,传播越慢。如果用来表示整体聚类系数,使用来表示图中封闭三点组的个数,使用来比啊是开三点组的个数,则:同样的对于某个节点的局部聚类系数:以上图为例:封闭三点组为:...

2020-06-02 21:46:19 15327 1

原创 训练集预处理之处理分类数据

名词特征和序数特征在分类数据时,需要区分名词特征和序数特征。序数特征可以理解为可排序的分类值。例如T恤的尺寸就是一个序数特征,因为其可以定义顺序XL>L>M。相反,名词特征不代表任何顺序,比如T恤的颜色就是一个名词特征,因为说一种颜色大与另外一种颜色是不正确的。首先创建一个DataFrame,我们使用不同的技术来处理这些分类数据df = pd.DataFrame([['g...

2020-04-15 11:15:20 1458

转载 机器学习:数据预处理之独热编码(One-Hot)

本文转载记录并学习一下热编码在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。这些特征值并不是连续的,而是离散的,无序的。通常我们需要对其进行特征数字化。那什么是特征数字化呢?例子如下: 性别特征:["男","女"] 祖国特征:["中国","美国,"法国"] 运动特征:["足球","篮球","羽毛球","乒乓球"] 假...

2020-04-03 16:57:53 542

原创 支持向量机---SVM 最小二乘支持向量机---LSSVM

1.SVM支持向量机的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合业损失函数的最小化问题。给定训练样本集D={(x1,y1),(x2,y2),...,(xm,ym)},yi{-1,+1},分类学习的最基本想法基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开。样本空间中,划分超平面可通过如下线性方程来描述:x+b=0(为法向量,b为...

2020-03-04 19:05:53 4524 1

原创 SDN Qos差异化服务实现与问题解决

借助SDN开放的北向接口,用户可以按需定制北向应用,通过应用快速有效地将带宽策略下发到SDN交换机设备,实现带宽策略的快速自动化部署。其架构如下图所示:OpenDaylight中的OpenFlow实现分为OpenFlowJava和OpenFlowPlugin两部分,其中OpenFlowJava负责面向南向设备完成OpenFlow协议的序列化、反序列化、端口监听以及消息分发,而OpenFlo...

2019-07-05 00:17:05 4738 10

原创 CISCO--路由协议重分布

一、重分布路由重分发(Route Redistribution):指为实现同一网络内多种路由协议协同工作,利用路由重分发技术实现各路由器间共享路由信息,将一种路由协议的路由通过其他方式(可能是另一路由选择协议、静态路由或直连路由)广播出去,从而实现网络互通。 注:在其他地方还有重分布、再分配等叫法,从时间先后及描述准确度上看,建议使用"路由重分发"。 不同的路由协议默认是不可以进行互...

2019-06-17 12:10:22 8019 6

原创 C/S 服务器简介

* 客户服务器网络简介** 1.1理解TCP基础 计算机上运行的应用程序,只需通过一条单一的Modem或DSL线路来连接互联网,所有程序共享这个连接,此共享对用户来说是透明的 Modem->数模转换 调制->用模拟信号来承载数字信号 DSL->用户数字线路(以电话线为传输介质的传输技术组合) TCP实现共享:通过把要发送的数据流分解为很多...

2019-04-12 10:34:24 1751

原创 SOCKET_STREAM--TCP客户端和服务器端的交互过程

TCP协议是一种面向连接的协议,在数据传输之前必须先建立连接。服务器大都可以与多个客户保持连接,因此通信过程中需要至少两个套接字监听套接字 已连接套接字监听套接字:有服务器端调用socket()函数创建,用于等待客户的连接请求已连接套接字:连接建立是,由系统创建,每当监听套接字收到一个连接请求,系统便会为该连接请求创建一个新的已连接套接字,并用该套接字与客户建立连接,同时用该套接字...

2019-04-05 11:52:57 1446

原创 树莓派更换国内apt源

很简单,只需要几步就可以完成1,备份之前的源文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.copy2,编辑sources.list文件sudo emacs/etc/apt/sources.list删除源文件现存的源信息 ->deb....修改为国内的源信息(我这里选择阿里的源):debhttp://...

2019-04-05 10:48:32 4358 1

转载 SSL工作原理

1  概述1.1  产生背景基于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活。受到人们的青睐。因为这些应用都须要在网络上进行在线交易,它们对网络通信的安全性提出了更高的要求。传统的万维网协议HTTP不具备安全机制——採用明文的形式数据传输、不能验证通信两方的身份、无法防止传输的数据被篡改等,导致HTTP无法满足电子商务和网上银行等应用的安全性要求。 Nets...

2018-12-18 10:00:50 542

原创 Heart bleed 漏洞源码与过程解析

Heartbleed漏洞,这项严重缺陷(CVE-2014-0160)的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。引用一下知乎上看到的一张图片,十分形象:Openssl漏洞源码分析...

2018-12-17 16:58:01 1197 2

原创 Ubuntu 14.04安装openssl-1.0.1e(搭建heart bleed靶机环境-1)

Ubuntu镜像可以在Ubuntu官网下载openssl-1.0.1e:到openssl官网下载压缩包 http://www.openssl.org/source/ 上面路径后面+openssl-1.0.1e.tar.gz1,在Ubuntu里面输入以下命令下载openssl-1.0.1ewget http://www.openssl.org/source/openssl-1.0....

2018-12-12 21:47:38 1909

原创 存储器管理---分页存储

基本分页存储管理方式比较连续分配方式:作业逻辑地址空间有M大,就需要向内存申请一个M大的连续区域。 分页的目的是更细粒度的处理空间,减少粗放管理的浪费或开销问题。离散分配内存:作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未使用的小份分页方式下,内存的使用率高,浪费少。但不是绝对没有碎片(进程的最后一页不总是能占满一个物理块)1...

2018-11-01 22:33:03 704

原创 OS---内存空间管理

连续分配方式为一个用户程序分配一个连续的内存空间 20世纪六、七十年代的OS中,分类:单一连续分配 固定分区分配 动态分区分配 动态重定位分区分配 其他(1)单一连续分配内存分为系统区和用户区两部分:系统区:仅提供给OS使用,通常放在内存低址部分 用户区:除系统区以外的全部内存空间,提供给用户使用。最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。...

2018-10-28 23:17:02 2202

原创 传输层安全---SSL

传输层安全在传输层之上实现数据的安全传输是另一种安全解决方案。一般SSL都是可执行协议软件包的一部分,从而对应用是透明的,可以也。嵌入到特殊软件包中(IE浏览器都配置了SSL)。SSL / TLS协议1994年Netscape开发了安全套接层协议SSL(安全套接字层),专门用于保护Web通讯版本和历史 1.0,不成熟 2.0,基本上解决了网络通讯的安全问题      ...

2018-10-24 22:55:55 1644

原创 实时调度与死锁产生的原因

实时调度什么是实时系统?指系统能够在限定的响应时间内提供所需水平的服务。 指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。实时任务:具有明确时间约束的计算任务,有软/硬,随机/周期性之分。硬实时任务:必须满足任务对截止时间的要求 软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的影响。实...

2018-10-22 13:39:13 619

原创 处理机常用调度算法

调度算法调度的实质就是一种资源分配。不同的系统和系统目标,通常采用不同的调度算法——适合自己的才是最好的。如批处理系统为照顾为数众多的短作业,应采用短作业优先的调度算法; 如分时系统为保证系统具有合理的响应时间,应采用轮转法进行调度。 目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但有些算法作业调度和进程调度都可以采用。1、先来先服务调度算法FCFS   ...

2018-10-18 20:35:28 1234

原创 处理机调度基本概念

处理机调度:多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。提高处理机的利用率、改善系统性能,很大程度上取决于处理机调度的性能。处理机调度便成为OS设计的中心问题之一。分配的任务由处理机调度程序完成。一、处理机调度的基本概念作业进入系统驻留在外存的后备队列上,再至调入内存运行完毕,可能要经历下述三级调度。高级调度(High Scheduling) 中级调...

2018-10-18 00:10:29 2389

原创 TCP/IP体系结构各层安全协议介绍

安全协议:1. IPSEC——网络层2. SSL/TSL——传输层3. 应用层安全(WEB、远程应用、邮件) TCP/IP协议栈观察TCP/IP的协议栈,我么可以发现,在诸多协议中,并没有针对安全的协议,这时就需要安全协议来保证通信的安全 Internet安全性途径应用层——S/MIME, PGP, PEM, SET, Kerberos, SHTTP, SS...

2018-10-16 17:46:50 8753

原创 OS经典问题Python实现----工人搬水

问题:搬运工人向卡车中装纯净水,每车最多10箱。卡车装满即开走,需装n辆车。 import randomimport threadingimport timewater= threading.Semaphore(0);go= threading.Semaphore(0);mutex=threading.Event()wmutex=threading.Event...

2018-10-09 20:54:10 392

原创 消息鉴别机制

消息鉴别/认证(message authentication)消息认证是一种允许通信者验证所收消息是否可信的措施。当消息、文件、文档或其他数据集合是真实的,且来自合法信源,就称其为可信的。包括两个方面:验证消息内容是否被篡改 验证信源是否可信* 还可能希望验证消息的时效性(时间戳)及实体间消息流的相对顺序(序列号)上述都属于数据完整性范畴  消息鉴别机制:      ...

2018-10-09 16:47:22 5892

原创 Python多线程--生产者与消费者问题

问题描述:系统中由多个生产者进程和多个消费者进程,共享一个能存放10件产品的环形缓冲区(初始值为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出3件产品后,其他消费者进程才可以取产品。import randomimport threadingimport time...

2018-09-28 00:02:08 2237

原创 OS---经典同步问题

哲学家进餐问题五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在桌子上有五只碗和五只筷子。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。由描述可知:五只筷子最多只有两个人可以同时进餐,而且不能是相邻的两个人。1)记录型信号量解决哲学家进餐问题筷子是临界资源,在一段时间内只允许一个哲学家使用。为实现对筷子的互斥使用,用一个信号量表示...

2018-09-26 23:39:44 348

原创 Python 多线程实现黑白棋子(python多线程解释)

◆问题描述两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法:1)执黑子一方先下2)双方都可以先下,谁先抢到棋盘谁先下。然后开始轮流下子。第一种情况1)贴代码:import threadingimport timeimport randomb=threading.Semaphore(1)w=threading.Semaphore(...

2018-09-20 21:28:10 638

原创 公钥加密——RSA浅析

1. 公钥加密思想 “New Directions in Cryptography”——Whitfield Diffie,Hellman  1976【误解】☒公钥加密比传统加密抗密码分析。任何加密方案的安全性取决于①密钥长度②计算量。没有任何原理说明公钥加密更优越;☒传统加密过时了当前公钥加密方案计算开销很大,传统加密淘汰的可能性还没法预测;☒与传统加密的密钥分发相...

2018-09-20 11:07:46 2162

原创 一个Python多线程实例

水果分配的问题:桌上有一只盘子,每次只能放入5只水果。爸爸专放苹果,妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果.用P,V操作实现爸爸、妈妈、儿子、女儿进程的同步控制。贴一下代码:import randomimport threadingimport time#创建信号量threading.Semaphore(value),value是信号量的...

2018-09-14 12:31:34 519

原创 数据加密标准DES分析

DES:data encryption standard20世纪70年代初,非军用密码学的研究处于混乱不堪的状态中。 1972年,美国国家标准局(NBS),即现在的国家标准与技术研究所(NIST),拟定了一个旨在保护计算机和通信数据的计划。计划中提出要开发一个单独的标准密码算法。 1973年,NBS公开征集标准密码算法。 1974年,NBS第二次征集。收到一个有前途的候选算法,该算法从I...

2018-09-12 22:07:19 4710 1

转载 Mac mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

首先打开Mac 自带的 terminal:Go to mysql/bin directory(到该目录下)$ cd /usr/binStart a mysql deamon with this option:$ sudo mysqld_safe --skip-grant-tablesOpen another terminal and open a mysql session to execut...

2018-07-10 10:37:04 393

原创 Lintcode 651 二叉树垂直遍历

我们可以把根节点给个序号0,然后开始层序遍历,凡是左子节点则序号减1,右子节点序号加1,这样我们可以通过序号来把相同列的节点值放到一起,我们用一个TreeMap来建立序号和其对应的节点值的映射,用TreeMap的另一个好处是其自动排序功能可以让我们的列从左到右,由于层序遍历需要用到queue,我们此时queue里不能只存节点,而是要存序号和节点组成的pair,这样我们每次取出就可以操作序号,而且排...

2018-06-02 00:52:53 567

原创 Lintcode 197 排列序号

为了更加直观的看清楚我们选择一个大点的数组[6,8,4,7,5,3,2]这个数组,他的第一排序是[2,3,4,5,6,7,8]对吧,然后首先拿到待计算排序的第一个元素6,那么在6之前比他小的元素有几个呢? 是不是有2,3,4,5这4个,确定了第一个元素后,其他剩下的7-1=6个元素进行全排列,共有6!=720种,所以一共有4*(7-1)!种。但是计算第二个元素的时候要小心了。现在第2个元素是8,比...

2018-06-01 17:37:21 247

原创 LintCode 362.滑动窗口的最大值 (C++)

滑动窗口的最大值,采用双队列方法。队列存储元素下标队列最左端永远是最大值的下标,并且保持队列的严格递减。

2018-04-22 16:07:10 373 1

转载 如何在Mac OS X上安装 Ruby运行环境

对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。此安装方法同样适用于产品环境!系统需求首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...)强烈新手使用 Ubunt...

2018-04-18 22:55:20 224 2

原创 lintcode 436.最大正方形 C++vector实现

思路:找最大正方形的边长,动态规划,每个点能否构成正方形,考虑matrix[i-1][j-1],matrix[i][j-1],matrix[i-1][j],如果三者均大于0,则可以构成正方形,构成正方形的变长是三者中最小值加1,遍历的同时统计最大值。注意返回平方才是面积。class Solution {public:    int maxSquare(vector<vector<int...

2018-04-17 23:14:09 348 1

转载 Mac上安装MySQL

1、到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本     以5.7.14为例:Mac OS X 10.11 (x86, 64-bit), DMG Archive    下载完的文件为:mysql-5.7.14-osx10.11-x86_64.dmg2、双击下载的 mysql-5.7.14-osx10.11-x86_64...

2018-04-14 21:35:16 364 1

原创 初次使用树莓派su命令失败,启用root管理员

初次登陆树莓派时,使用pi@树莓派id,默认密码为raspberry。若要想开启root账户。可以进行如下操作输入sudo passwd root输入两遍root密码。接着解锁root账户:之后再输入su输入刚刚设置的root密码即可切换到root用户。...

2018-04-14 12:46:49 4718 2

原创 逆波兰表达式

flag用于防止重复入栈,将运算符设置优先级,并且区别右括号匹配做括号这一特殊情况。#include <vector>#include <stack>class Solution {public:    /**     * @param expression: A string array     * @return: The Reverse Polish notation...

2018-04-12 21:56:26 172 1

空空如也

空空如也

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

TA关注的人

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