训练1400个样本数据,用pso优化SVM大概需要多长时间?还是说,这个时间和训练数据的数量有关?(我用的matlab)

最近在用pso优化svm中的参数,用matlab运行的时间比较长,大概好几分钟吧,想问下这个优化一般需要多长时间?
还是说我的程序不好,所以运行时间长。

1个回答

这个取决于你训练的轮数,你的数据量,你的机器的硬件配置。建议你用支持gpu加速的库和显卡来训练,可以快很多。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Matlab中libsvm工具箱用PSO优化SVM做回归,训练集结果很好,但测试集结果是一条直线?

![图片说明](https://img-ask.csdn.net/upload/202005/19/1589865266_890645.png) 部分代码如下: load data.mat %% % 1. 随机产生训练集和测试集 n = randperm(size(c,2)); %% % 2. 训练集——40个样本 p_train = c(:,n(1:40))'; t_train = d(:,n(1:40))'; %% % 3. 测试集——8个样本 p_test = c(:,n(41:end))'; t_test = d(:,n(41:end))'; %% III. 数据归一化 %% % 1. 训练集 [pn_train,inputps] = mapminmax(p_train'); pn_train = pn_train'; pn_test = mapminmax('apply',p_test',inputps); pn_test = pn_test'; %% % 2. 测试集 [tn_train,outputps] = mapminmax(t_train'); tn_train = tn_train'; tn_test = mapminmax('apply',t_test',outputps); tn_test = tn_test'; %% 参数初始化 ``` c1 = 1.5; % c1 belongs to [0,2] c2 = 1.5; % c2 belongs to [0,2] maxgen=200; % 进化次数 sizepop=50; % 种群规模 popcmax=10^(3); popcmin=10^(-5); popgmax=10^(3); popgmin=10^(-5); k = 0.02; % k belongs to [0.1,1.0]; Vcmax = k*popcmax; Vcmin = -Vcmax ; Vgmax = k*popgmax; Vgmin = -Vgmax ; ``` % SVM参数初始化 v = 5; %% 产生初始粒子和速度 ``` for i=1:sizepop pop(i,1) = (popcmax-popcmin)*rand+popcmin; % 初始种群 pop(i,2) = (popgmax-popgmin)*rand+popgmin; V(i,1)=Vcmax*rands(1); % 初始化速度 V(i,2)=Vgmax*rands(1); cmd = ['-v ',num2str(v),' -t 2',' -c ',num2str( pop(i,1) ),' -g ',num2str(pop(i,2) ),' -s 3 -p 0.1']; fitness(i) = svmtrain(tn_train, pn_train, cmd); fitness(i) = -fitness(i); end [global_fitness bestindex]=min(fitness); % 全局极值 local_fitness=fitness; % 个体极值初始化 global_x=pop(bestindex,:); % 全局极值点 local_x=pop; % 个体极值点初始化 ``` tic %% 迭代寻优 ``` for i=1:maxgen for j=1:sizepop %速度更新 wV = 0.4; % V(j,:) = wV*V(j,:) + c1*rand*(local_x(j,:) - pop(j,:)) + c2*rand*(global_x - pop(j,:)); if V(j,1) > Vcmax V(j,1) = Vcmax; end if V(j,1) < Vcmin V(j,1) = Vcmin; end if V(j,2) > Vgmax V(j,2) = Vgmax; end if V(j,2) < Vgmin V(j,2) = Vgmin; end %种群更新 wP = 0.6; pop(j,:)=pop(j,:)+wP*V(j,:); if pop(j,1) > popcmax pop(j,1) = popcmax; end if pop(j,1) < popcmin pop(j,1) = popcmin; end if pop(j,2) > popgmax pop(j,2) = popgmax; end if pop(j,2) < popgmin pop(j,2) = popgmin; end ```

svm分类,类的数量对最后分类的准确率有影响吗

比如说原本分20类,每类提供n个样本,训练得到的结果有个准确率,可是如果分一百个类,每个类也提供n个样本,那准确率与之前相比会有大幅的变化吗,没有试验过,求问

网格搜索,得出最优参数后的训练模型,是采用训练数据集,还是直接用的数据全集?

关于网格搜索,还是有些不太明白的地方: 1. 网格搜索GridSearchCV中,其实已经包含了交叉验证了(cv默认值是10)。那通过网格搜索得到最优参数后,正式训练模型时,是使用训练数据集(用原始数据集切分出训练数据集和测试数据集),还是用完整的数据集呢? 2. 如果用完整的数据集,那训练出来的模型,如何说明是否过拟合?

超参数优化时,验证集中正确率很高,测试集中正确率下降

最近在做核参数的优化,我使用了网格搜索和PSO,两个都出现这个问题。超参数在验证集上表现很好,但是利用该参数进行模型训练和测试,正确率明显下降(有些可能会上升),请问大家这是什么问题? 优化流程:原始数据进行10-fold crossvalidation分成训练集和测试集,在训练集中对每次寻优超参数进行5-fold crossvalidation,找出验证集中表现最优的参数。使用该参数和训练集整体进行模型训练,最后用测试集进行测试,正确率下降了

关于贝叶斯优化的CNN超参数调优?

关于贝叶斯优化的超参数调优,在下有几个问题; 1、一般的超参数调优,比如对bach size进行调优,他的目标函数是什么?是全局的loss吗? 2、是否可以利用CNN输出的loss作为目标函数,对模型中的某个参数进行调优? 3、怎么调用loss啊,cnn中的

BP神经网络预测效果不好是什么原因?

BP神经网络的预测结果的回归效果很好,但是预测误差很大,是什么原因呢? 我以为是过拟合,但是采取正则化之类的一些方法之后,并没有改善多少。 但是BP神经网络的输入数据和输出数据相关性很低(低于0.2,甚至负相关),会不会是这个原因呢? 原始数据样表如图:这里是用T、PH、DO、EC作为输入数据,预测Imn。 ![图片说明](https://img-ask.csdn.net/upload/201912/10/1575989411_839837.jpeg) 预测效果如下图,预测的MAPE=0.27,多次训练大多是0.3左右,这是不是BP神经网络训练得到的最好的结果呢?是不是需要换模型? 这种数据之间相关性很低的该怎么预测? ![图片说明](https://img-ask.csdn.net/upload/201912/10/1575989215_333538.png) ![图片说明](https://img-ask.csdn.net/upload/201912/10/1575989227_329592.png)

想表示30个m行n列的数据用matlab 怎么实现?

在做pso优化rbf神经网络,pso算法若用矩阵编码策略,想表示30个m行n列的数据用matlab 怎么实现?

BP神经网络的训练集和测试集可以相同吗?如图中,floor函数为什么要乘以0.8呢?

您好,我在使用PSO优化BP神经网络做预测。有如下几个问题想请教: 1.我想请问数据划分时,训练集和测试集可以相同吗?我之前是训练集(1:150),测试集(151,200),但是预测效果不好,把训练集和测试集划分相同之后效果变得非常好 小白真诚发问,希望各位不嫌弃问题幼稚帮忙解答,感激不尽。

关于利用PSO求解MTSP问题

为什么我的最优的路径会特别小,但是画出来的图又不对劲 close all; clear all; popSize=60;%种群的数量 n=25;%城市的数量 nSalemen=5;%旅行商的数量 minTour=3;%最少的访问的城市 numIter=1;%当前的迭代次数 maxIter=2000;%最大的迭代次数 c1=0.5;%认知系数 c2=0.7;%社会学习系数 w=0.96-numIter/maxIter;%惯性权重 city=[ 3.3184 3.8936; 1.6306 2.7365; 7.1099 7.0426; 6.2423 7.9933; 1.5685 9.4000; 7.3024 4.4529; 9.5264 6.9582; 5.4706 3.0430; 2.9782 5.4072; 8.1919 8.1967; 0.9126 0.4486; 6.2795 2.6432; 7.7616 5.1561; 5.9302 8.4823; 6.1111 2.9600; 7.9966 5.1457; 0.5838 7.4490; 3.5309 7.2559; 9.8486 7.5080; 4.6626 8.8609; 4.9832 0.1022; 7.4159 9.0157; 1.2219 2.9728; 5.8982 4.3984; 4.8106 2.7477];%随机生成的城市的坐标 for i=1:n for j=1:n cityDist(i,j)=sqrt((city(i,1)-city(j,1)).^2+(city(i,2)-city(i,2)).^2); end end%计算城市之间的距离 %初始化路径和断点 popRoute(1,:)=(1:n); popBreak(1,:)=rand_breaks(nSalemen,minTour,n); for i=2:popSize popRoute(i,:)=randperm(n); popBreak(i,:)=rand_breaks(nSalemen,minTour,n); end %初始化速度 for i=1:popSize velocity(i,:)=round(rand(1,n)*n); end figure('Name','MTSP_PSO | 过程','Numbertitle','off'); subplot(2,2,1); pclr=~get(0,'DefaultAxesColor'); for i=1:n x(1,i)=city(i,1); y(1,i)=city(i,2); end plot(x,y,'.','Color',pclr); xlabel('m'); ylabel('m'); title('城市坐标'); for j=1:popSize pRoute=popRoute(j,:); pBreak=popBreak(j,:); d=0; rngs=[[1 pBreak+1];[pBreak n]]'; for k=1:nSalemen for p=rngs(k,1):rngs(k,2)-1 d=d+cityDist(pRoute(p),pRoute(p+1)); end d=d+cityDist(pRoute(rngs(k,1)),pRoute(rngs(k,2))); end eachPathDis(j)=d; end indivdualBestFitness=eachPathDis; [minDist,index]=min(eachPathDis); globalBestFitness=minDist; for i=1:popSize globalBestRoute(i,:)=popRoute(index,:); globalBestBreak(i,:)=popBreak(index,:); end indivdualBestRoute=popRoute; indivdualBestBreak=popBreak; %迭代开始 for i=1:maxIter globalBest(numIter)=globalBestFitness; numIter=numIter+1; %开始PSO的过程 pij_xij=GenerateChangeNums(popRoute,indivdualBestRoute); pij_xij=HoldByOdds(pij_xij,c1); pgj_xij=GenerateChangeNums(popRoute,globalBestRoute); pgj_xij=HoldByOdds(pgj_xij,c2); velocity=HoldByOdds(velocity,w); popRoute=PathExchange(popRoute,velocity); popRoute=PathExchange(popRoute,pij_xij); popRoute=PathExchange(popRoute,pgj_xij); %计算粒子群优化后各路径的距离 for j=1:popSize pRoute=popRoute(j,:); pBreak=popBreak(j,:); d=0; rngs=[[1 pBreak+1];[pBreak n]]'; for k=1:nSalemen for p=rngs(k,1):rngs(k,2)-1 d=d+cityDist(pRoute(p),pRoute(p+1)); end d=d+cityDist(pRoute(rngs(k,1)),pRoute(rngs(k,2))); end eachPathDis(j)=d; end %加入flip和swap过程,此时要更新断点 newPopRoute=zeros(popSize,n); newPopBreak=zeros(popSize,nSalemen-1); randomOrder=randperm(popSize); for j=4:4:popSize %chooseIdx=randperm(popSize); rts=popRoute(randomOrder(j-3:j),:); brs=popBreak(randomOrder(j-3:j),:); dists=eachPathDis(randomOrder(j-3:j)); [ignore,index]=min(dists); bestOf4Route=rts(index,:); bestOf4Break=brs(index,:); routeInsertionPoints = sort(ceil(n*rand(1,2))); I = routeInsertionPoints(1); J = routeInsertionPoints(2); for k=1:4 tmpPopRoute(k,:)=bestOf4Route; tmpPopBreak(k,:)=bestOf4Break; end for k=1:4 switch k case 2 tmpPopRoute(k,I:J)=tmpPopRoute(k,J:-1:I); case 3 tmpPopBreak(k,:)=rand_breaks(nSalemen,minTour,n); case 4 tmpPopRoute(k,I:J)=tmpPopRoute(k,J:-1:I); tmpPopBreak(k,:)=rand_breaks(nSalemen,minTour,n);% otherwise end end newPopRoute(j-3:j,:)=tmpPopRoute; newPopBreak(j-3:j,:)=tmpPopBreak; end popRoute=newPopRoute; popBreak=newPopBreak; %改进部分完成,但是好像还有点问题 %计算改进后的路径距离 for j=1:popSize pRoute=popRoute(j,:); pBreak=popBreak(j,:); d=0; rngs=[[1 pBreak+1];[pBreak n]]'; for k=1:nSalemen for p=rngs(k,1):rngs(k,2)-1 d=d+cityDist(pRoute(p),pRoute(p+1)); end d=d+cityDist(pRoute(rngs(k,1)),pRoute(rngs(k,2))); end newEachPathDis(j)=d; end %然后更新全局和个体最优 [minNewPath,idx]=min(newEachPathDis); if minNewPath<globalBestFitness globalBestFitness=minNewPath; for k=1:popSize globalBestRoute(k,:)=popRoute(idx,:); globalBestBreak(k,:)=popBreak(idx,:); end end IsChange=newEachPathDis<indivdualBestFitness; indivdualBestRoute(find(IsChange),:)=popRoute(find(IsChange),:); indivdualBestBreak(find(IsChange),:)=popBreak(find(IsChange),:); end subplot(2,2,2); plot((1:maxIter),globalBest(1:maxIter)); title(sprintf('迭代后的最优结果是:%1.4f',globalBest(maxIter))); pRoute=globalBestRoute(1,:); pBreak=globalBestBreak(1,:); subplot(2,2,3); pathPlot(pRoute,pBreak,city,nSalemen,n); title(sprintf('最后的路由')); %迭代结束 function Hold=HoldByOdds(Hold,odds) [x y]=size(Hold); for i=1:x for j=1:y if rand>odds Hold(i,j)=0; end end end end function changeNums=GenerateChangeNums(popRoute,BestRoute) [x y]=size(popRoute); changeNums=zeros(x,y); for i=1:x pop=BestRoute(i,:); pop1=popRoute(i,:); for j=1:y NoFromBestVar=pop(j);%y选择的是最优的某个位置 for k=1:y NoFromRoute=pop1(k);%k是该粒子的某个位置 if (NoFromRoute==NoFromBestVar)&&(j~=k) changeNums(i,j)=k;%i,j表示最优粒子的某行某列,里面的值是粒子的某列 pop1(k)=pop1(j); pop1(j)=NoFromRoute; end end end end end function Route=PathExchange(popRoute,Hold) [x y]=size(popRoute); for i=1:x pop=popRoute(i,:); a=Hold(i,:); for j=1:y if a(1,j)~=0 pop1=pop(1,j); pop(1,j)=pop(1,a(1,j)); pop(1,a(1,j))=pop1; end end Route(i,:)=pop; end end function pathPlot(pRoute,pBreak,city,nSalemen,n) clr=[1 0 0;0 0 1;0.67 0 1;0 1 0;1 0.5 0]; rngs=[[1 pBreak+1];[pBreak n]]'; for i=1:nSalemen rtes=pRoute([rngs(i,1):rngs(i,2) rngs(i,1)]); plot(city(rtes,1),city(rtes,2),'.-','Color',clr(i,:)); hold on; end end function breaks=rand_breaks(nSalemen,minTour,n) nBreak=nSalemen-1;%4 dof=n-minTour*nSalemen; addto=ones(1,dof+1); for k=2:nBreak addto=cumsum(addto); end cumProb=cumsum(addto)/sum(addto); if minTour==1 tmpBreaks=randperm(n-1); breaks=sort(tmpBreaks(1:nBreak)); else nAdjust=find(rand<cumProb,1)-1; spaces=ceil(nBreak*rand(1,nAdjust)); adjust=zeros(1,nBreak); for kk=1:nBreak adjust(kk)=sum(spaces==kk); end breaks=minTour*(1:nBreak)+cumsum(adjust); end end

PSO工具箱中,如何添加等式约束条件。

PSOparams=[10 300 20 2 2 0.9 0.4 1500 1e-25 250 NaN 0 0]只知道这里面的NaN表示的是无约束条件,现在要添加等式约束,想要知道需要怎么改,具体来说,一是NaN处要怎么改,二是等式约束条件该如何添加?

求解------粒子群算法优化pid参数在工程中的问题?

粒子群算法在优化pid参数时,需要每个粒子(即一组pid参数)进控制器,得到反馈误差 ,进而计算适应度,那么问题来了,在每一代中的所有粒子,都需要经过控制器的运算,才能得到适应度,这样在工程中,远远不能满足实时性的要求,请问有没有解决的办法?

求问有没有办法实现PSO中粒子的和值为固定?求指教

目前在做毕设,需要一个算法求一天24小时状态,每天必训完成循环,因此我将粒子的每一维假设成为单位时间的改变量。但是我个人无法实现使一天的循环之后回到出状态。希望大神们速速现身解答。跪谢

用 粒子群优化算法/细菌觅食算法 求解下列方程 C 或者C++语言或者Java都可以!

![图片说明](https://img-ask.csdn.net/upload/201512/05/1449306338_218843.jpg) 使用 粒子群优化算法/细菌觅食算法 求解或者优化下列方程,使用C语言或者C++语言或者Java都可以!

多个离散变量的粒子群算法如何处理

我想用粒子群算法搞变压器设计,但其中高低压线规变量都是一系列规定的离散非整数值,怎么处理

C语言pso粒子群算法的初始化以及对种群中适应度高的粒子筛选问题

int initialize(int id) { /*由当前时间产生随机数种子*/ srand((unsigned)time(NULL)+10*id); FILE *infile; /*初始化数据文件,记录坐标及速度上下限*/ int i, j; /*i:维度循环参数,j:粒子群循环参数*/ double lbound, ubound, Vlbound, Vubound; /*记录由初始化数据文件中读入的各维度坐标和速度上下限*/ char filename[256]; sprintf(filename,"initialdata%d",id); //printf("filename is %s\n",filename); if((infile = fopen(filename,"r"))==NULL) { fprintf(psolog,"\nCannot open input file!\n"); exit(1); } for(i=0;i<DIMENSION;i++) { /*读入各方向位置及速度上下限*/ fscanf(infile, "%lf", &lbound); fscanf(infile, "%lf", &ubound); fscanf(infile, "%lf", &Vlbound); fscanf(infile, "%lf", &Vubound); /*将速度上下限循环写入各粒子结构体中,并由之随机产生初始位置及速度*/ for(j=0;j<POPSIZE;j++) { particle[j].lowbound[i]=lbound; particle[j].upbound[i]=ubound; particle[j].low_V[i]=Vlbound; particle[j].up_V[i]=Vubound; particle[j].position[id][i]=randval(lbound, ubound); particle[j].velocity[id][i]=randval(Vlbound, Vubound); particle[j].fitness[id] = 0; } } fclose(infile); return 0; } int select1(int n) { double sum_fit,r_fitness; /*该种群当前最优适应度总和以及存储前mem个粒子适应度和的变量*/ int i,j,k; double p; /*记录随机数*/ sum_fit=0; for(i=0;i<POPSIZE;i++) { sum_fit+=particle[i].fitness[MAXSHIFT]; } for(i=0;i<POPSIZE;i++) { r_fitness=0; for(j=0;j<i+1;j++) { r_fitness+=particle[j].fitness[MAXSHIFT]; } particle[i].r_fit = r_fitness/sum_fit; } /*开始优选*/ for(i=0;i<POPSIZE;i++) { p=(double)(rand()%1000)/1000; if(p<particle[0].r_fit) { particle[i].fitness[n]=particle[0].fitness[n]; particle[i].fitness[MAXSHIFT]=particle[0].fitness[MAXSHIFT]; for(k=0;k<DIMENSION;k++) { particle[i].position[n][k] = particle[0].position[n][k]; particle[i].velocity[n][k] = particle[0].velocity[n][k]; particle[i].position[MAXSHIFT][k] = particle[0].position[MAXSHIFT][k]; particle[i].velocity[MAXSHIFT][k] = particle[0].velocity[MAXSHIFT][k]; } } for(j=1;j<POPSIZE;j++) { if((p>particle[j-1].r_fit)&&(p<particle[j].r_fit)) { particle[i].fitness[n]=particle[j].fitness[n]; particle[i].fitness[MAXSHIFT]=particle[j].fitness[MAXSHIFT]; for(k=0;k<DIMENSION;k++) { particle[i].position[n][k] = particle[j].position[n][k]; particle[i].velocity[n][k] = particle[j].velocity[n][k]; particle[i].position[MAXSHIFT][k] = particle[j].position[MAXSHIFT][k]; particle[i].velocity[MAXSHIFT][k] = particle[j].velocity[MAXSHIFT][k]; } } } } }

RBF神经网络预测误差太大

用RBF网络构建一个六输入单输出的预测模型,隐层节点选取为5,共获取202组数据,用其中180组数据对网络进行训练,但训练时误差太大,维持在一万左右,望大神指点,我可以提供我写的程序和数据。

关于粒子群优化算法的测试程序代码

Griewank、Schaffer、Cosine mixture、Michalewicz、Rosenbrock、多峰函数这几个 函数的测试代码,例如sphere函数的这种格式: function f = fitness(x) a = size(x,2); %[x,y] = meshgrid(-100:1:100); f=0; for i = 1:a f=f+x(i)^2; end

C# 多线程,记录每个线程运行时间

本人菜鸟,在校学生。 最近在学习多线程技术,实现了一个求解数组中最小值的方法,但是在测试多线程与单线程的计算速度时,却不知道那个才是多线程的运行时间(尴尬到窒息!) *多线程求数组中最小值思想:将一个数组分为两个等大的子数组,并新建两个子线程分别求解每个子数组中的最小值,保存在一个全局变量中。* 源程序如下: using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Diagnostics; namespace Multithread_PSO { class Program { //定义锁 private static readonly object locker = new object(); static void Main(string[] args) { //元素个数 int EleCounts = 100000; //待处理数组 int[] MyArr = new int[EleCounts]; //前半段数组 int[] TempArr1 = new int[EleCounts / 2]; //后半段数组 int[] TempArr2 = new int[EleCounts / 2]; for (int i = 0; i < EleCounts; i++) { int iSeed = DateTime.Now.Millisecond; Random rd = new Random(iSeed+i); //随机给数组赋值 MyArr[i] = rd.Next(EleCounts); //将数组拆分为两个大小相等的数组 if(i<EleCounts/2) { TempArr1[i] = MyArr[i]; } else { TempArr2[i - EleCounts / 2] = MyArr[i]; } } //主线程 FindMinElement(MyArr); //新建两个线程th1,th2 Thread th1 = new Thread(new ParameterizedThreadStart(thFindMinElement)); th1.Name = "子线程1"; Thread th2 = new Thread(new ParameterizedThreadStart(thFindMinElement)); th2.Name = "子线程2"; Stopwatch sw = new Stopwatch(); sw.Start(); th1.Start(TempArr1); //th1.Join(); th2.Start(TempArr2); //th2.Join(); sw.Stop(); TimeSpan ts2 = sw.Elapsed; Console.WriteLine("多线程获得最小值为: {0}, 计时器3共耗时:{1}/ms!\n", MinValue, ts2.TotalMilliseconds); Console.ReadKey(); } public static void thFindMinElement(object DivMyArr) { Stopwatch sw = new Stopwatch(); sw.Start(); string ThNumber = Thread.CurrentThread.ManagedThreadId.ToString(); int[] MyArr = (int[])DivMyArr; if (IsFirstRun) { MinValue = MyArr[0]; IsFirstRun = false; } for (int i = 1; i < MyArr.Length; i++) { if (MinValue > MyArr[i]) MinValue = MyArr[i]; } sw.Stop(); TimeSpan ts2 = sw.Elapsed; Console.WriteLine("当前线程名称(ID)为:{1} ({0}),最小值为:{2},共耗时:{3}/ms!\n", ThNumber, Thread.CurrentThread.Name, MinValue, ts2.TotalMilliseconds); } public static void FindMinElement(int[] DivMyArr) { Stopwatch sw = new Stopwatch(); sw.Start(); string ThNumber = Thread.CurrentThread.ManagedThreadId.ToString(); int[] MyArr = DivMyArr; MinValue = MyArr[0]; for (int i = 1; i < MyArr.Length; i++) { if (MinValue > MyArr[i]) MinValue = MyArr[i]; } sw.Stop(); TimeSpan ts2 = sw.Elapsed; Console.WriteLine("主线程ID为:{0},最小值为: {1}, 共耗时:{2}/ms!\n", ThNumber, MinValue, ts2.TotalMilliseconds); } private static int minValue; private static bool IsFirstRun = true; private static int MinValue { get { lock (locker) { return minValue; } } set { minValue = value; } } } } ***问题1:*** 如果不添加 th1.Join()和 th2.Join(),运行结果如下,请问计时器3是多线程运行时间吗? ![图片说明](https://img-ask.csdn.net/upload/201705/04/1493881888_346609.png) ***问题2:*** 如果添加 th1.Join()和 th2.Join(),运行结果如下,请问计时器3是多线程运行时间吗? ![图片说明](https://img-ask.csdn.net/upload/201705/04/1493881971_593742.png) ***问题3:*** 如果均不是,那该怎么计算多线程的总运行时间呢,还望大神不吝赐教!!!

你好 elm分类输出真实数据然后对于接下来进行类别输出部分我不懂它是如何类别分类的

下面是进行类别输出 MatrixXd tempY=mScores; //int size=tempY.size(); double *Y=new double[nsmp]; double *Max=new double[nsmp]; double max=0.0; double *min=new double[nsmp]; for(int i=0;i<tempY.cols();i++) { min[i]=tempY(0,i); } for(int i=0;i<tempY.cols();i++) { max=min[i]; for(int j=0;j<tempY.rows();j++) { if(tempY(j,i)>max) { max=tempY(j,i); } } Max[i]=max; } for(int i=0;i<tempY.cols();i++) { for(int j=0;j<tempY.rows();j++) { if(tempY(j,i)==Max[i]) { tempY(j,i)=1; } else { tempY(j,i)=0; } } } cout<<"the sample is belong to "; for(int i=0;i<tempY.cols();i++) { for(int j=0;j<tempY.rows();j++) { if(tempY(j,i)==1) { Y[i]=j+1; cout<<Y[i]<<" "; } } } cout<<endl; outY=Y; return 0; } int compare( const void *a, const void *b ) { const double *da = (const double *) a; const double *db = (const double *) b; return (*da > *db) - (*da < *db); } // builds 1-of-K target matrix from labels array //template <typename Derived> MatrixXd buildTargetMatrix( double *Y, int nLabels ) { // make a temporary copy of the labels array double *tmpY = new double[ nLabels ]; for ( int i = 0 ; i < nLabels ; i++ ) { tmpY[i] = Y[i]; } // sort the array of labels qsort( tmpY, nLabels, sizeof(double), compare ); // count unique labels int nunique = 1; for ( int i = 0 ; i < nLabels - 1 ; i++ ) { if ( tmpY[i] != tmpY[i+1] ) nunique++; } delete [] tmpY; MatrixXd targets( nunique, nLabels ); targets.fill( 0 ); // fill in the ones for ( int i = 0 ; i < nLabels ; i++ ) { int idx = Y[i]-1; targets( idx, i ) = 1; } // normalize the targets matrix values (-1/1) //targets *= 2; //targets.array() -= 1; return targets; } #endif

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问