Comments (7)
❔Question
你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?
Additional context
你发下命令 看看
from yolo_research.
❔Question
你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?
Additional context
你发下命令 看看
也可以先clone我新的代码 因为昨天进行了一次大更新
from yolo_research.
你好,我是基于您的代码对我的v6.0的common.py和yolo.py进行了修改。具体修改如下
在common.py中添加了如下内容:
class CARAFE(nn.Module):
#CARAFE: Content-Aware ReAssembly of FEatures https://arxiv.org/pdf/1905.02188.pdf
def init(self, c1, c2, kernel_size=3, up_factor=2):
super(CARAFE, self).init()
self.kernel_size = kernel_size
self.up_factor = up_factor
self.down = nn.Conv2d(c1, c1 // 4, 1)
self.encoder = nn.Conv2d(c1 // 4, self.up_factor ** 2 * self.kernel_size ** 2,
self.kernel_size, 1, self.kernel_size // 2)
self.out = nn.Conv2d(c1, c2, 1)
def forward(self, x):
N, C, H, W = x.size()
# N,C,H,W -> N,C,delta*H,delta*W
# kernel prediction module
kernel_tensor = self.down(x) # (N, Cm, H, W)
kernel_tensor = self.encoder(kernel_tensor) # (N, S^2 * Kup^2, H, W)
kernel_tensor = F.pixel_shuffle(kernel_tensor, self.up_factor) # (N, S^2 * Kup^2, H, W)->(N, Kup^2, S*H, S*W)
kernel_tensor = F.softmax(kernel_tensor, dim=1) # (N, Kup^2, S*H, S*W)
kernel_tensor = kernel_tensor.unfold(2, self.up_factor, step=self.up_factor) # (N, Kup^2, H, W*S, S)
kernel_tensor = kernel_tensor.unfold(3, self.up_factor, step=self.up_factor) # (N, Kup^2, H, W, S, S)
kernel_tensor = kernel_tensor.reshape(N, self.kernel_size ** 2, H, W, self.up_factor ** 2) # (N, Kup^2, H, W, S^2)
kernel_tensor = kernel_tensor.permute(0, 2, 3, 1, 4) # (N, H, W, Kup^2, S^2)
# content-aware reassembly module
# tensor.unfold: dim, size, step
x = F.pad(x, pad=(self.kernel_size // 2, self.kernel_size // 2,
self.kernel_size // 2, self.kernel_size // 2),
mode='constant', value=0) # (N, C, H+Kup//2+Kup//2, W+Kup//2+Kup//2)
x = x.unfold(2, self.kernel_size, step=1) # (N, C, H, W+Kup//2+Kup//2, Kup)
x = x.unfold(3, self.kernel_size, step=1) # (N, C, H, W, Kup, Kup)
x = x.reshape(N, C, H, W, -1) # (N, C, H, W, Kup^2)
x = x.permute(0, 2, 3, 1, 4) # (N, H, W, C, Kup^2)
out_tensor = torch.matmul(x, kernel_tensor) # (N, H, W, C, S^2)
out_tensor = out_tensor.reshape(N, H, W, -1)
out_tensor = out_tensor.permute(0, 3, 1, 2)
out_tensor = F.pixel_shuffle(out_tensor, self.up_factor)
out_tensor = self.out(out_tensor)
#print("up shape:",out_tensor.shape)
return out_tensor
在yolo.py中添加了CARAFE,修改如下:
if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, GSConv, DWConv, CARAFE, MixConv2d, Focus, CrossConv,
BottleneckCSP, C3, C3TR, C3STR, C3SPP, C3Ghost, CBAM, Conv_maxpool, ShuffleNetV2_InvertedResidual......
运行的具体指令如下:
python train.py --weights weights/yolov5l.pt --cfg models/ablation_experimental_wgq/yolov5lCBAM-SwinTrans-DWconv-Decoupledhead-CARAFE.yaml --data data/Ws.yaml --epoch 300 --batch-size 8 --img 608 --nohalf --device '0'
from yolo_research.
grey_questionQuestion
你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?
Additional context
你发下命令 看看
也可以先clone我新的代码 因为昨天进行了一次大更新
好的,我看看,您有空也可以看看我结合您代码进行的更改是否存在问题。即使不结合trans,仅在yolov5-6.0.yaml中基于上述修改替换CARAFE算子依然报上述错误“: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' ”
from yolo_research.
grey_questionQuestion
你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?
Additional context
你发下命令 看看
也可以先clone我新的代码 因为昨天进行了一次大更新
clone您新的代码并在您的文件夹下运行指令“python train.py --weights weights/yolov5s.pt --cfg models/yolov5s-carafe.yaml --data data/Weld2009.yaml --epoch 300 --batch-size 8 --img 608 --device '0' --name l-Cara”后报错如下“File "train.py", line 416, in train
loss, loss_items = compute_loss(pred, targets.to(device)) # loss scaled by batch_size
File "/home/imcm/code/wanggq/yolov5_research-master/utils/loss.py", line 221, in call
pxy, pwh, _, pcls = pi[b, a, gj, gi].tensor_split((2, 4, 5), dim=1) # target-subset of predictions
AttributeError: 'Tensor' object has no attribute 'tensor_split'
”
from yolo_research.
grey_questionQuestion
你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?
Additional context
你发下命令 看看
也可以先clone我新的代码 因为昨天进行了一次大更新
clone您新的代码并在您的文件夹下运行指令“python train.py --weights weights/yolov5s.pt --cfg models/yolov5s-carafe.yaml --data data/Weld2009.yaml --epoch 300 --batch-size 8 --img 608 --device '0' --name l-Cara”后报错如下“File "train.py", line 416, in train loss, loss_items = compute_loss(pred, targets.to(device)) # loss scaled by batch_size File "/home/imcm/code/wanggq/yolov5_research-master/utils/loss.py", line 221, in call pxy, pwh, _, pcls = pi[b, a, gj, gi].tensor_split((2, 4, 5), dim=1) # target-subset of predictions AttributeError: 'Tensor' object has no attribute 'tensor_split' ”
好的 今天更新 不过我先测下yolov7的结构
from yolo_research.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from yolo_research.
Related Issues (20)
- 怎样修改v8的数据加载 HOT 1
- 怎样将yolov8的检测头和损失函数融合到yolov5的源码中 HOT 1
- AttributeError: 'LoadStreams' object has no attribute 'auto' HOT 1
- 有關分割部分 HOT 2
- yolov7-pose训练回归关键点只有15个 HOT 5
- involution HOT 2
- train yolov5_SwinV2.yaml HOT 2
- 你好,请问你的数据集真能跑通吗?同样的YOLOV5s,我用一模一样的数据集跑甚至无法收敛 HOT 4
- 語意分割跟物件偵測是否可能同時顯示出來? HOT 10
- pose/cfg/yolov7-w6-pose.yaml 这个文件在哪 HOT 2
- YOLOv7训练问题 HOT 6
- 请问yolov8的代码和文章近期会更新吗 HOT 2
- 为什么采用yolov5-p6.yaml的修改版本训练不起来?(mAP50才0.00095) HOT 4
- backbone中C3替换为C3TR报错,TypeError: empty(): argument 'size' must be tuple of ints, but found element of type float at pos 2 HOT 1
- 在YOLOv5中如何得到模型的推理时间(或者说FPS)? HOT 4
- AttributeError: 'V8_Detect' object has no attribute 'na' HOT 2
- v8的训练似乎无法加载预训练权重 HOT 2
- Good attempt, fw of the modified code doesn't work a t all.....; HOT 2
- 123 HOT 1
- yolov8s-seg 热力图 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yolo_research.