Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
15963625
efficientdet-pytorch
提交
756c4c2e
E
efficientdet-pytorch
项目概览
15963625
/
efficientdet-pytorch
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
efficientdet-pytorch
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
756c4c2e
编写于
7月 11, 2020
作者:
B
Bubbliiiing
提交者:
GitHub
7月 11, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update train.py
上级
275a7713
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
1 deletion
+16
-1
train.py
train.py
+16
-1
未找到文件。
train.py
浏览文件 @
756c4c2e
...
...
@@ -83,6 +83,10 @@ def fit_one_epoch(net,focal_loss,epoch,epoch_size,epoch_size_val,gen,genval,Epoc
torch
.
save
(
model
.
state_dict
(),
'logs/Epoch%d-Total_Loss%.4f-Val_Loss%.4f.pth'
%
((
epoch
+
1
),
total_loss
/
(
epoch_size
+
1
),
val_loss
/
(
epoch_size_val
+
1
)))
return
val_loss
/
(
epoch_size_val
+
1
)
#----------------------------------------------------#
# 检测精度mAP和pr曲线计算参考视频
# https://www.bilibili.com/video/BV1zE411u7Vw
#----------------------------------------------------#
if
__name__
==
"__main__"
:
#-------------------------------------------#
# 训练前,请指定好phi和model_path
...
...
@@ -106,6 +110,9 @@ if __name__ == "__main__":
# 创建模型
model
=
EfficientDetBackbone
(
num_classes
,
phi
)
#------------------------------------------------------#
# 权值文件请看README,百度网盘下载
#------------------------------------------------------#
model_path
=
"model_data/efficientdet-d0.pth"
# 加快模型训练的效率
print
(
'Loading weights into state dict...'
)
...
...
@@ -135,6 +142,14 @@ if __name__ == "__main__":
num_val
=
int
(
len
(
lines
)
*
val_split
)
num_train
=
len
(
lines
)
-
num_val
#------------------------------------------------------#
# 主干特征提取网络特征通用,冻结训练可以加快训练速度
# 也可以在训练初期防止权值被破坏。
# Init_Epoch为起始世代
# Freeze_Epoch为冻结训练的世代
# Epoch总训练世代
# 提示OOM或者显存不足请调小Batch_size
#------------------------------------------------------#
if
True
:
#--------------------------------------------#
# BATCH_SIZE不要太小,不然训练效果很差
...
...
@@ -208,4 +223,4 @@ if __name__ == "__main__":
for
epoch
in
range
(
Freeze_Epoch
,
Unfreeze_Epoch
):
val_loss
=
fit_one_epoch
(
net
,
efficient_loss
,
epoch
,
epoch_size
,
epoch_size_val
,
gen
,
gen_val
,
Unfreeze_Epoch
,
Cuda
)
lr_scheduler
.
step
(
val_loss
)
\ No newline at end of file
lr_scheduler
.
step
(
val_loss
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录