本文目录一览:
- 1、MMsegmentation教程 6: 自定义运行设定
- 2、计算上为什么会这样?
- 3、导演她不看脸_by红刺北_txt全文阅读,百度网盘免费下载
- 4、剧情片里的黑白片 有没有相关的影视百度网盘资源?
- 5、《东八区的时差》txt下载在线阅读全文,求百度网盘云资源
- 6、今天打开word,显示未激活,怎么办?
MMsegmentation教程 6: 自定义运行设定
我们已经支持 PyTorch 自带的所有优化器,唯一需要修改的地方是在配置文件里的 optimizer 域里面。
例如,如果您想使用 ADAM (注意如下操作可能会让模型表现下降),可以使用如下修改:
为了修改模型的学习率,使用者仅需要修改配置文件里 optimizer 的 lr 即可。
使用者可以参照 PyTorch 的 API 文档
直接设置参数。
一个自定义的优化器可以按照如下去定义:
假如您想增加一个叫做 MyOptimizer 的优化器,它的参数分别有 a , b , 和 c 。
您需要创建一个叫 mmseg/core/optimizer 的新文件夹。
然后再在文件,即 mmseg/core/optimizer/my_optimizer.py 里面去实现这个新优化器:
为了让上述定义的模块被框架发现,首先这个模块应该被导入到主命名空间 (main namespace) 里。
有两种方式可以实现它。
mmseg.core.optimizer.my_optimizer 模块将会在程序运行的开始被导入,并且 MyOptimizer 类将会自动注册。
需要注意只有包含 MyOptimizer 类的包 (package) 应当被导入。
而 mmseg.core.optimizer.my_optimizer.MyOptimizer 不能 被直接导入。
事实上,使用者完全可以用另一个按这样导入方法的文件夹结构,只要模块的根路径已经被添加到 PYTHONPATH 里面。
之后您可以在配置文件的 optimizer 域里面使用 MyOptimizer
在配置文件里,优化器被定义在 optimizer 域里,如下所示:
为了使用您自己的优化器,这个域可以被改成:
有些模型可能需要在优化器里有一些特别参数的设置,例如 批归一化层 (BatchNorm layers) 的 权重衰减 (weight decay)。
使用者可以通过自定义优化器的构造器去微调这些细粒度参数。
默认的优化器构造器的实现可以参照 这里 ,它也可以被用作新的优化器构造器的模板。
优化器没有实现的一些技巧应该通过优化器构造器 (optimizer constructor) 或者钩子 (hook) 去实现,如设置基于参数的学习率 (parameter-wise learning rates)。我们列出一些常见的设置,它们可以稳定或加速模型的训练。
如果您有更多的设置,欢迎在 PR 和 issue 里面提交。
我们根据默认的训练迭代步数 40k/80k 来设置学习率,这在 MMCV 里叫做 PolyLrUpdaterHook 。
我们也支持许多其他的学习率计划表: 这里 ,例如 CosineAnnealing 和 Poly 计划表。下面是一些例子:
工作流是一个专门定义运行顺序和轮数 (running order and epochs) 的列表 (phase, epochs)。
默认情况下它设置成:
意思是训练是跑 1 个 epoch。有时候使用者可能想检查模型在验证集上的一些指标(如 损失 loss,精确性 accuracy),我们可以这样设置工作流:
于是 1 个 epoch 训练,1 个 epoch 验证将交替运行。
注意 :
如果钩子已经在 MMCV 里被实现,如下所示,您可以直接修改配置文件来使用钩子:
以下的常用的钩子没有被 custom_hooks 注册:
在这些钩子里,只有 logger hook 有 VERY_LOW 优先级,其他的优先级都是 NORMAL 。
上述提及的教程已经包括了如何修改 optimizer_config , momentum_config 和 lr_config 。
这里我们展示我们如何处理 log_config , checkpoint_config 和 evaluation 。
MMCV runner 将使用 checkpoint_config 去初始化 CheckpointHook .
使用者可以设置 max_keep_ckpts 来仅保存一小部分检查点或者通过 save_optimizer 来决定是否保存优化器的状态字典 (state dict of optimizer)。 更多使用参数的细节请参考 这里 。
log_config 包裹了许多日志钩 (logger hooks) 而且能去设置间隔 (intervals)。现在 MMCV 支持 WandbLoggerHook , MlflowLoggerHook 和 TensorboardLoggerHook 。
详细的使用请参照 文档 。
evaluation 的配置文件将被用来初始化 EvalHook 。
除了 interval 键,其他的像 metric 这样的参数将被传递给 dataset.evaluate() 。
计算上为什么会这样?
function RandDisplayJiong
axis off; %隐去坐标轴
set(gcf,'menubar','none','toolbar','none');%不显示当前figure 菜单栏和工具栏
for k = 1:100 %循环100次
%每次在(rand,rand)这个随机的位置,以20到50之间随机分布的一个数为字体大小,隶书的形式,
%随机生成RGB颜色,并随机旋转一定角度来显示“囧”
h = text(rand,rand,...
['\fontsize{',num2str(unifrnd(20,50)),'}\fontname {隶书} 囧'],...
'color',rand(1,3),'Rotation',360*rand);
pause(0.2); %每显示完一次暂停0.2秒
end
function T = cat_in_holl(n)
T = zeros(1,n);
for k = 1:n
c = unidrnd(3,1);
while c ~= 1
if c == 2
T(k) = T(k)+4;
else
T(k) = T(k)+6;
end
c = unidrnd(3,1);
end
T(k) = T(k)+2;
end
function example2_3_6slow
A = unidrnd(100,1000000,7);%随机生成1000000*7的A矩阵,A的元素属于1到100的整数
B = zeros(1000000,3);
for m = 1:1000000
a = A(m,:);
b = [4 6 8];
for ii = 1:3
dd = a(a==b(ii));%dd:a中等于b(ii)的元素
if isempty(dd)==0 %dd不为空
b(ii)=0;
end
end
B(m,:)=b;
end
function [m,n,TT]=plot3dnmT(N,L)
%N:inf的近似,L:[0,2]区间的剖分个数
C=zeros(N,1);%nested-function:Tmn=calcT(mm,nn)中用来存储计算结果
m=linspace(0,2,L);
[m,n]=meshgrid(m,m);
TT=zeros(size(n));%和网格数据m,n对应的计算出来的T(m,n)网格数据
for ii=1:L
for jj=1:L
TT(ii,jj)=calcT(m(ii,jj),n(ii,jj));
end
end
%=====计算T(m,n)的nest-function
function Tmn=calcT(mm,nn)
for N1=1:N
C(N1)=(mm^N1/gamma(N1+1))*sum( nn.^(0:N1-1)./gamma(1:N1) );
Tmn=1.0-exp(-mm-nn)*sum(C);
end
end
mesh(n,m,TT);
end
function [mx,minf]=randwalk(f,x,lamda,epsilon,N)
%随机行走法求函数的极小值。输入f为所求函数的句柄,
%x为初始值。lamda为步长。epsilon为控制lamda的减小的阈值,即lamda减小到epsilon时
%迭代停止。
%N为为了产生较好点的迭代控制次数。
%函数返回值mx为n次试验得到的最优解,minf为响应的最优值。
f1 = f(x(1),x(2));
while(lamda=epsilon)
k = 1;
while(k=N)
u = unifrnd(-1,1,1,2);
x1 = x+lamda*(u/norm(u));
f11 = f(x1(1),x1(2));
if f11f1
f1 = f11;
x = x1;
k = 1;
else
k = k+1;
end
end
lamda = lamda/2;
end
mx = x1;
minf = f1;
function triangle_table
fig = figure('defaultuicontrolunits','normalized','name','triangle_table',...
'numbertitle','off','menubar','none');
ah = axes('Pos',[.1 .2 .75 .75],'Visible','off');
slider_h = uicontrol('style','slider','units','normalized','pos',...
[0.1,0.05,0.75,0.05],'sliderstep',[1/6,0.05],'callback',@change_color);
hold on
for k = 0:6
plot(0:6-k,(6-k)*ones(1,(7-k)),'k');
plot(k*ones(1,(7-k)),k:6,'k');
end
plot([0,6],[0,6],'k');
hold off;
for x = 1:5
for y = 1:x
text(y-0.5,x+0.5,num2str(x),'color','k','tag','数字');
end
end
for k = 0:5
text(k+0.1,k+0.5,[num2str(k),'.5'],'tag','数字');
end
%====slider's callback function(nested function)======
function change_color(hObject,eventdata)
v = round(6*get(slider_h,'value'));
num_h = findobj('tag','数字');
num_pos = get(num_h,'pos');
red_num_logic = cellfun(@(x) (x(1)=vx(2)=v),num_pos);
set(num_h(red_num_logic),'color','r');
set(num_h(~red_num_logic),'color','k');
end
end
function DuckLakeSegmentation
%导入图像文件引导对话框
[filename,pathname,flag] = uigetfile('*.jpg','请导入图像文件');
Duck = imread([pathname,filename]);
LakeTrainData = [52 74 87;76 117 150;19 48 62;35 64 82;46 58 36;...
50 57 23;110 127 135;156 173 189;246 242 232;...
166 174 151];%从图上选取的几个位于湖面区域的有代表的点的RGB值
%从图上选取的几个位于鸭子区域的有代表的点的RGB值
DuckTrainData = [211 192 107;202 193 164;32 25 0;213 201 151;115 75 16;...
101 70 0;169 131 22;150 133 87];
%属于湖的点为0,鸭子为1
group = [zeros(size(LakeTrainData,1),1);ones(size(DuckTrainData,1),1)];
LakeDuckSVM = svmtrain([LakeTrainData;DuckTrainData],group,...
'Kernel_Function','polynomial','Polyorder',2);%训练得到支持向量分类机
[m,n,k] = size(Duck);
Duck1 = double(reshape(Duck, m*n, k));%将数组Duck转成m*n行,3列的双精度矩阵
%根据训练得到的支持向量机对整个图像的像素点分类
IndDuck = svmclassify(LakeDuckSVM,Duck1);
IndLake = ~IndDuck;%属于湖的点的逻辑数组
result = reshape([IndLake, IndLake, IndLake],[m,n,k]);%和图片的维数相对应
Duck2 = Duck;
Duck2(result) = 0;
figure
imshow(Duck2)
function example12_1_3
%定时器的TimerFun,供TimerA,TimerB,TimerC共用
function TimerFun(object,event)
t = clock; %函数刚开始执行时间点
pause(1);%函数执行了1秒钟
et = etime(t,get(object,'userdata'));%函数开始运行和上次函数开始运行时间间隔
disp(['本次函数开始执行距上次函数开始执行时间为:',num2str(et),' S!'])
set(object,'userdata',t);%记录本次函数开始运行时间
end
%定义定时器TimerA, 'executionmode'设为'fixedSpacing'
TimerA = timer('StartFcn','disp(''定时器A开始:'')','ErrorFcn',...
'disp(''A发生错误'')','StartDelay',0.5,'TimerFcn',@TimerFun,'stopfcn',...
'disp(''定时器A停止!'')','executionmode','fixedSpacing','period',0.5,...
'TasksToExecute',3);
%定义定时器TimerB, 'executionmode'设为'fixedDelay'
TimerB = timer('StartFcn','disp(''定时器B开始:'')','ErrorFcn',...
'disp(''B发生错误'')','StartDelay',0.5,'TimerFcn',@TimerFun,'stopfcn',...
'disp(''定时器B停止!'')','executionmode','fixedDelay','period',0.5,...
'TasksToExecute',3);
%定义定时器TimerC, 'executionmode'设为'fixedRate'
TimerC = timer('StartFcn','disp(''定时器C开始:'')','ErrorFcn',...
'disp(''C发生错误'')','StartDelay',0.5,'TimerFcn',@TimerFun,'stopfcn',...
'disp(''定时器C停止!'')','executionmode','fixedRate','period',0.5,...
'TasksToExecute',3);
%运行定时器A
set(TimerA,'userdata',clock);
start(TimerA);
wait(TimerA);
%运行定时器B
set(TimerB,'userdata',clock);
start(TimerB);
wait(TimerB);
%运行定时器C
set(TimerC,'userdata',clock);
start(TimerC);
wait(TimerC);
end
导演她不看脸_by红刺北_txt全文阅读,百度网盘免费下载
链接:
提取码: gd7c
小说名称:导演她不看脸
作者:红刺北
类型:言情
连载状态:已完结
字数:150016字
简介:《导演她不看脸》是已完结的一部爱情类网络小说,梁鹤一个正经导演兼职剪片大师,戏不好好拍,每天夜里猫在房里剪迟扬的片儿。每日痴迷云养男神的梁鹤,突然有一天和正主同桌吃饭了。为了维持自己正经导演的身份,面对男神梁鹤装得十分冷酷。
剧情片里的黑白片 有没有相关的影视百度网盘资源?
相关影片有:北村方向 [摩登时代 Modern Times][1936][剧情/爱情][美国] 不能没有你 一日情人 艾德·伍德 Ed Wood (1994) [马路天使][1937][喜剧 / 歌舞][中国] 杀死一只知更鸟 [1962][剧情 / 悬疑 / 犯罪][美国] 百度网盘资源高清免费下载在线观看
北村方向
链接:
提取码: fmeh
[摩登时代 Modern Times][1936][剧情/爱情][美国]
链接:
提取码: pkz7
不能没有你
链接:
提取码: yb9i
一日情人
链接:
提取码: 5aff
艾德·伍德 Ed Wood (1994)
链接:
提取码: pn3h
[马路天使][1937][喜剧 / 歌舞][中国]
链接:
提取码: dcqb
杀死一只知更鸟 [1962][剧情 / 悬疑 / 犯罪][美国]
链接:
提取码: m1pr
请点击输入图片描述
《东八区的时差》txt下载在线阅读全文,求百度网盘云资源
《东八区的时差》百度网盘txt最新全集下载:
链接:
?pwd=mto5 提取码:mto5
简介:《东八区的时差》的作者是绿竹小星。
今天打开word,显示未激活,怎么办?
打开word,显示未激活,百度搜索一个激活工具,在线激活一下就行了。解决方法如下:
1、下载office2016激活工具,不需要安装,直接打开,点击【激活Office 2016 VL】
2、接着就开始执行激活office2016过程,底部有个绿色的进度条,可能需要很久,耐心等待。
3、当看到窗口显示Product activation successful,表示激活成功,如果提示失败,继续执行第1步,直到成功为止。
4、然后点击【查看Office激活状态】。
5、激活工具一般180天,到期后继续使用本工具激活就行了,如果嫌麻烦,可以在【高级】选项卡,安装自动续期服务。激活成功,就可以打开word了。