Skip to content

Commit d0a32e5

Browse files
committed
yolov5 updated to v4.0
1 parent 6d0f5cb commit d0a32e5

File tree

3 files changed

+56
-41
lines changed

3 files changed

+56
-41
lines changed

yolov5/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
The Pytorch implementation is [ultralytics/yolov5](https://github.com/ultralytics/yolov5).
44

5-
Currently, we support yolov5 v1.0(yolov5s only), v2.0, v3.0 and v3.1.
5+
Currently, we support yolov5 v1.0(yolov5s only), v2.0, v3.0, v3.1 and v4.0.
66

7-
- For yolov5 v3.1, please visit [yolov5 release v3.1](https://github.com/ultralytics/yolov5/releases/tag/v3.1), and use the latest commit of this repo.
8-
- For yolov5 v3.0, please visit [yolov5 release v3.0](https://github.com/ultralytics/yolov5/releases/tag/v3.0), and use the latest commit of this repo.
7+
- For yolov5 v4.0, please visit [yolov5 release v4.0](https://github.com/ultralytics/yolov5/releases/tag/v4.0), and use the latest commit of this repo.
8+
- For yolov5 v3.0 and v3.1, please visit [yolov5 release v3.0](https://github.com/ultralytics/yolov5/releases/tag/v3.0) and [yolov5 release v3.1](https://github.com/ultralytics/yolov5/releases/tag/v3.1), and checkout commit ['6d0f5cb'](https://github.com/wang-xinyu/tensorrtx/commit/6d0f5cbf4745bc00b69aad54a905383fb906f103) of this repo.
99
- For yolov5 v2.0, please visit [yolov5 release v2.0](https://github.com/ultralytics/yolov5/releases/tag/v2.0), and checkout commit ['5cfa444'](https://github.com/wang-xinyu/tensorrtx/commit/5cfa4445170eabaa54acd5ad7f469ef65a8763f1) of this repo.
1010
- For yolov5 v1.0, please visit [yolov5 release v1.0](https://github.com/ultralytics/yolov5/releases/tag/v1.0), and checkout commit ['f09aa3b'](https://github.com/wang-xinyu/tensorrtx/commit/f09aa3bbebf4d4d37b6d3b32a1d39e1f2678a07b) of this repo.
1111

yolov5/common.hpp

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,10 @@ ILayer* convBlock(INetworkDefinition *network, std::map<std::string, Weights>& w
200200
conv1->setNbGroups(g);
201201
IScaleLayer* bn1 = addBatchNorm2d(network, weightMap, *conv1->getOutput(0), lname + ".bn", 1e-3);
202202

203-
// hard_swish = x * hard_sigmoid
204-
auto hsig = network->addActivation(*bn1->getOutput(0), ActivationType::kHARD_SIGMOID);
205-
assert(hsig);
206-
hsig->setAlpha(1.0 / 6.0);
207-
hsig->setBeta(0.5);
208-
auto ew = network->addElementWise(*bn1->getOutput(0), *hsig->getOutput(0), ElementWiseOperation::kPROD);
203+
// silu = x * sigmoid
204+
auto sig = network->addActivation(*bn1->getOutput(0), ActivationType::kSIGMOID);
205+
assert(sig);
206+
auto ew = network->addElementWise(*bn1->getOutput(0), *sig->getOutput(0), ElementWiseOperation::kPROD);
209207
assert(ew);
210208
return ew;
211209
}
@@ -254,6 +252,23 @@ ILayer* bottleneckCSP(INetworkDefinition *network, std::map<std::string, Weights
254252
return cv4;
255253
}
256254

255+
ILayer* C3(INetworkDefinition *network, std::map<std::string, Weights>& weightMap, ITensor& input, int c1, int c2, int n, bool shortcut, int g, float e, std::string lname) {
256+
int c_ = (int)((float)c2 * e);
257+
auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1");
258+
auto cv2 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv2");
259+
ITensor *y1 = cv1->getOutput(0);
260+
for (int i = 0; i < n; i++) {
261+
auto b = bottleneck(network, weightMap, *y1, c_, c_, shortcut, g, 1.0, lname + ".m." + std::to_string(i));
262+
y1 = b->getOutput(0);
263+
}
264+
265+
ITensor* inputTensors[] = { y1, cv2->getOutput(0) };
266+
auto cat = network->addConcatenation(inputTensors, 2);
267+
268+
auto cv3 = convBlock(network, weightMap, *cat->getOutput(0), c2, 1, 1, 1, lname + ".cv3");
269+
return cv3;
270+
}
271+
257272
ILayer* SPP(INetworkDefinition *network, std::map<std::string, Weights>& weightMap, ITensor& input, int c1, int c2, int k1, int k2, int k3, std::string lname) {
258273
int c_ = c1 / 2;
259274
auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1");

0 commit comments

Comments
 (0)