- 博客(38)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 k8s使用containerd作为CRI
参考链接https://www.nocentino.com/posts/2021-12-27-installing-and-configuring-containerd-as-a-kubernetes-container-runtime/一、前置操作1、加载k8s和containerd所需的overlay和br_netfilter两个模块sudo modprobe overlaysudo modprobe br_netfiltercat <<EOF | sudo tee /etc/
2022-03-18 16:46:53
2813
1
原创 iptables
iptablesiptables基础概念链(chain):系统包含五条链,PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD。可以自定义链表(table):系统包含5张表,raw、mangle、nat、filter、security。不能自定义表规则(rule):具体的包处理规则,包括acl规则、nat规则等。常见处理动作包括:DROP:直接将数据包丢弃,不再进行后续的处理。应用场景是不让某个数据源意识到你的系统的存在,可以用来模拟宕机;REJECT:给
2022-03-10 19:43:53
1057
原创 python 导入模块 import
导入模块是使用模块的属性是不同的python文件目录结构如下,其中module1.py 定义了函数func_module1 module2.py 定义了函数func_module2 module4.py 定义了函数func_module4 module5.py 定义了函数func_module5 submodule3.py定义了函数func_submodule3testpy下的__init__.py文件代码如下:im...
2020-09-23 21:22:25
367
原创 TCP/IP笔记1:以太网帧格式
802.3:以太网 1、以太网帧开始之前都有8个字节的前导字段: 其中前7个字节为前同步码(Preamble),每个字节的值都是0xAA;最后一个字节是帧起始分隔符(Start Frame Delimiter,SFD),值为0xAB,它标识着以太网帧的开始。前导字段用来确定帧到达时间,并进行时间同步。 2、以太网帧最开始是DST和SRC。DST是6个字节的...
2018-11-08 10:57:43
3445
原创 深度学习中的参数优化方法
一、梯度下降法: 学习率1、批量梯度下降法每次更新需要在整个数据集上求出优点:如果loss是个凸函数,则批量梯度下降会在全局最小值处收敛;若loss非凸,则会收敛于局部最小值缺点:1)更新速度慢 2)不能在线训练模型 3)如果数据集很大,内存无法容纳,则无法使用此方法训练模型 4)若loss非凸,...
2018-08-16 19:54:51
5567
原创 c++ string与int通过流相互转化
stringstream :字符串流 , 需要包含头文件#include<sstream>stringstream使用操作符<< 、 >>,流在操作符的左边>>:从流中输出东西<<:输入东西到流中#include <iostream>#include <string>#includ
2018-08-13 11:25:28
431
原创 上传项目至github
上传项目至github安装github后一、建立本地 git 仓库1、开始->Git->Git bashGit bash类似linux一个终端,使用的是shell命令2、cd 至打算存放github项目的路径3、创建项目目录,mkdir 项目名例如:mkdir c3d_tensorflow4、输入命令git init把以上简历的目录变为git可管理的仓库...
2018-08-07 15:50:39
257
原创 python 修饰符 decorator @
装饰器用来扩充函数,有的语言用装饰器来写父类的子类python中装饰器主要用来扩充函数,并不用来写子类@的作用是使得以函数作为参数的闭包有一个更为简洁的表达例1:def plus1(x): return x+1def get_result(func): def multiply(x1): return func(x1)*5 return multiply...
2018-07-09 20:26:43
288
原创 python 闭包
一、python中的函数是第一类对象,即满足:1、可以存入变量或其他结构2、可作为参数传递给其他函数3、可作为函数返回值4、可以在执行期创造 (例如exec)5、即使没有被系结于某一名称也可以存在(例如lamda, map函数)关于第一个性质:def func(): print("func,第一个性质")f = func # func存入变量ff()输出:func,第一个性质关于...
2018-07-09 19:46:34
216
原创 python3 global和nonlocal 关键字
python变量引用顺序:从当前作用域开始寻找变量,如果没找到就往上一层作用域寻找,没找到就再上一层......即:当前作用域局部变量->外层作用域变量->再外层作用域变量->......->当前模块全局变量->pyhton内置变量global:全局变量nonlocal:外层嵌套函数的变量使用总结:局部作用域改变全局变量用global, global同时还可以定义新的...
2018-07-09 17:02:06
7099
10
原创 循环输入数字,以回车结束
c++:#include <iostream>using namespace std;int main(){ int a, s=0; //回车表示数据输入结束 while(cin.peek()!='\n') //cin.peek()相当于偷看一眼再放回流中 { cin>>a; s += a; ...
2018-07-05 11:25:51
30707
5
原创 c++ STL容器总结:vector、list、deque、queue、stack、set、map
c++STL中的容器会自动申请和释放内存,无需使用new、delete,一共有7种:1、vector: 类似数组,存储在一段连续的内存数组上,超出capacity后需要开辟一段新的更大的空间,把原来的数据拷贝过来,插入删除可能使iterator失效;可以快速地随机访问2、deque双端队列: 类似数组,动态的以分段连续的空间组合而成,随时能增加一段新的空间并链接起来;可以快速地在头尾插入删除数据3...
2018-07-04 11:38:29
1889
1
原创 c++ 异常处理
c++ 异常处理是通过try catch语句来执行的try{//语句体//如果语句体没有正常执行则抛出异常,throw error //抛出异常}catch(DataType& e) //捕获抛出的异常,按error的数据类型捕获{//语句体,一般包括以下:cerr << "输出异常信息" << endl;exit(1); //非正常退出程序...
2018-06-24 15:38:27
307
1
原创 查找:顺序查找、二分查找、分块查找
一、顺序查找按索引顺序查找,可用于查找无序序列int SequenceSearch(vector<int> seq, int key){ const int c_len = seq.size(); for(int i=0; i<c_len; ++i) if(seq[i] == key) return i; // 找到ke...
2018-06-16 13:33:08
1536
原创 排序算法总结
分类:比较排序:通过比较关键值来决定元素间的相对位置,其时间复杂度不能突破θ(nlgn) (lgn以2为底)非比较排序:不通过关键值来决定元素间的相对位置,其时间复杂度可以突破θ(nlgn),以线性时间运行比较排序: 插入排序:简单插入排序 希尔排序 交换排序:冒泡排序 ...
2018-06-13 16:22:56
207
原创 非比较排序2:基数排序
一、基数排序稳定排序按位排序:从低位(个位)到高位,取序列中元素相应位数字计数排序c++代码://供RadixSort用的计数排序void CountSort1(vector<int>& sequence, vector<int> vec_digit, int max_k=9);void RadixSort(vector<int>& seq...
2018-06-11 22:27:10
190
原创 非比较排序1:计数排序和桶排序
一、计数排序稳定排序适用于小数据范围排序假设待排序序列的元素范围为0~k-1;创建一个长度为k的数组c,c[x]表示在待排序序列中值小于x的元素个数;则x在排序后的序列中的位置即为c[x]c++代码:void CountSort(vector<int>& sequence, int max_k){ vector<int> count(max_k+1,0);...
2018-06-11 20:59:46
324
原创 比较排序5:希尔排序
一、希尔排序(插入排序)又称缩小增量排序不稳定排序方法:希尔排序在序列中进行跳跃式分组,通过某个增量将原始序列分成多组,针对每组进行插入排序;再减小增量,继续分组排序;直至增量减为1,则整个序列被分为一组。与简单插入排序相比,希尔排序通过分组排序,逐渐使得值较小的数据在前,较大的数据在后,所以到后面只需要微调;而简单插入排序每次都要从后往前一步步调。例:原始序列 23, 6, 78, 120, ...
2018-06-10 15:27:32
886
原创 比较排序4:归并排序
一、归并排序稳定排序步骤:1、把待排序序列一分为二2、递归的对每一个子序列进行排序3、合并两个有序序列合并:比较两个排好序的子序列首部的数字(即最小的),找到原序列最小的值,去掉这个最小值,继续比较两个子序列首部的,依次找到序列第二小第三小......c++代码://复制vectorvector<int> vec_assign(vector<int> seq, int b...
2018-06-10 14:10:41
260
原创 比较排序3:堆排序
sorting(按从小到大排序)一、堆排序(选择排序)不稳定步骤:大顶堆:每个节点的值都大于等于其左右子节点的值(用于升序)小顶堆:每个节点的值都小于等于其左右子节点的值(用于排序)1、构造初始堆将序列构造成二叉树(按下标构造)2、构造大顶堆(1)从最后一个非叶子节点开始,从右向左,从下至上进行调整(找出父节点、左子节点、右子节点中最大的与父节点交换,使得父节点最大),使得堆顶元素最大(2)将堆顶...
2018-06-09 15:47:29
327
原创 比较排序2:快速排序
sorting(按从小到大排序)一、快速排序(交换排序)不稳定排序步骤:1、选择主元数据 x , 把序列分为两个子序列(<=x 和 >x)2、按第一步递归处理两个子序列c++代码://处理sequence[p~q]子序列void QuickSort(vector<int>& sequence, int p, int q){ int x = sequen...
2018-06-08 16:47:33
284
原创 比较排序1:简单比较排序
sorting(按从小到大排序)一、简单插入排序(插入排序)稳定排序把新的值插入到前面已经排好的序列中c++程序:// 输入:待排序序列的引用void InsertSort(vector<int>& sequence){ int len = sequence.size(); // 序列长度 int key; int j; for(int i...
2018-06-08 15:51:14
339
原创 cvxopt.solvers.qp() python
Cvxopt python 凸优化包Cvxopt.solvers.qp(P,q,G,h,A,b)标准形式:程序:
2018-04-02 19:37:40
14204
4
原创 cvxopt.solvers.lp() Python
Cvxopt python 凸优化包Cvxopt.solvers.lp(c,G,h,A,b)标准形式:程序:
2018-04-02 19:35:25
4583
原创 cvxopt.matrix()函数 python
cvxopt python凸优化包cvxopt.matrix(array,dims)1. 把array按照dims重新排成矩阵,省略dims:如果array为np.array,则为其原本形式;如果array为list,cvxopt.matrix(array,dims)认为list中用逗号分隔开的为一列2. 输入到cvxopt.solvers的矩阵都是cvxopt.mat...
2018-04-02 19:31:09
7577
原创 variable_scope 和name_scope
1、variable_scope'''variable_scope 主要是给variable_name加前缀,也可以给op_name加前缀'''import tensorflow as tfdef f1(): # tf.variable_scope().reuse默认为False # 当reuse==False with tf.variable_scope('var'): v = tf.get_...
2018-03-17 22:02:37
318
原创 TensorFlow 模型的保存与恢复
1、在一个文件夹内保存和恢复单个模型saver = tf.train.Saver()sess = tf.Session()# 保存saver.save(sess,save_path) # 例如save_path='./model/ckpt'# 恢复saver.restore(sess,save_path) # save_path 与保存时的save_path相同# 使用model = Mode...
2018-03-17 20:31:08
679
原创 用python实现决策树算法
使用python实现决策树#coding=utf-8'''the feature's value is all discretebuild a decision tree by ID3,CART,C4.5 respectively'''import numpy as npimport csvfrom math import logimport jsondef find_val(li
2017-12-27 19:02:27
553
原创 spm mri segmentation:GM,WM,CSF 及DARTEL normalize
简要总结了spm12(+dartel)对MRI脑部图像进行segment和normalize
2017-06-08 10:10:02
7882
6
原创 Tensorflow四种交叉熵函数计算公式:tf.nn.cross_entropy
Tensorflow交叉熵函数:cross_entropy注意:tensorflow交叉熵计算函数输入中的logits都不是softmax或sigmoid的输出,而是softmax或sigmoid函数的输入,因为它在函数内部进行sigmoid或softmax操作 tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,label
2017-06-06 17:18:54
45070
8
原创 tensorflow cross_entropy 四种交叉熵计算函数
Tensorflow交叉熵函数:cross_entropy以下交叉熵计算函数输入中的logits都不是softmax或sigmoid的输出,因为它在函数内部进行了sigmoid或softmax操作tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None)_s
2017-04-03 15:36:22
8557
转载 MATLAB try/catch语句
原文地址:matlab中try/catch语句作者:cailijun2010try的作用是让Matlab尝试执行一些语句, 执行过程中如果出错, 则执行catch部分的语句. 其他语言也有类似的用法,其语法: try 尝试执行的语句块catch 出错后执行的语句块end
2016-10-25 11:15:43
1700
原创 MATLAB 函数 mesh()用法
mesh是画三维图,我是某次做图像处理时用到它画频谱图,先给出一个简单的例程:clc,clear;m=(1:10);%x轴的长度n=(1:10);%y轴的长度[u,v]=meshgrid(m,n);%分别形成m*m的方阵,n*n的方阵mesh(m,n,u+v);%画出z=x+y的三维图meshgrid函数形成(x,y)的方阵,是m*n*2的一个矩阵,z=f(x,y)可以在[u,v]
2016-10-21 20:50:48
16962
c++位图像素读取ofstream outfile();
2016-11-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人