Comments (24)
我佛了
from lstr.
Hi, thanks for you understanding.
I will update the arxiv to clarify batch=1's FPS and batch=16's FPS on the Table.
from lstr.
Just can't help myself to say something after spotting this issue. Not to take anyone's side, I believe it is only proper to add a disclaimer in the arxiv version to support the batching choice, by saying the model is actually too small to show superiority on Teraflops GPUs due to a low utility rate (or possibly I/O constrains). Although we all admit LSTR is ultra fast and probably still the fastest, batching it in the FPS test does not appear to be common practice and should've been stated on the record for future reference.
p.s. I wonder if it is possible for LSTR to achieve real-time on CPU/Jetson. Listing CPU inference speed for fast algorithms is also good choice to show great performance.
from lstr.
Hi, thanks for you understanding.
I will update the arxiv to clarify batch=1's FPS and batch=16's FPS on the Table.
hello, have you updated it ?
from lstr.
emmm……
According to my opinion, FPS has nothing to do with batch. It's calculated by one inference, one image, one time.
The number of images the model can predicts every time just depends on the video memory.
You can read the speed testing code below for reference.
https://github.com/cfzd/Ultra-Fast-Lane-Detection/blob/master/speed_simple.py
from lstr.
Please read the README.md carefully.
The MACs and the number of parameters are more important than an FPS evaluated on graphics cards. Speed is just a matter of implementation.
If you test the time consumption of each module you will find that the speed is mainly consumed by the Transformer. However, there are many fast implementation versions of the Transformer, like Faster Transformer, which could speed up LSTR again but is not our concern currently.
Besides, for research and algorithm landing purposes, the computation complexity is more compelling than the speed on the graphics card since no matter how fast you run the algorithm on the graphics card, the computational complexity of the algorithm and the number of parameters are independent of the implementation.
from lstr.
I agree with the importance of MACs(0.574G) and the number of parameters(0.77M) of your model.
But it can't explain the fast speed(420fps) in the paper. However the speed is the one of core points in your paper.
As you described, you tested TuSimple dataset without bells and whistles.
So I wonder how do you test your model's speed?
from lstr.
🙂 What you are seeking lies in the README ever since.
from lstr.
FPS has nothing to do with batch? WOW!
Video memory? So you think a video application MUST process video frames one by one? WOW!
The UltraFast measures one frame speed only because their memory cost is very large.
Processing 1 3x288x800 image uses 1190MiB GPU memory usage, but processing 16 3x360x640 images only use 877MiB by our method.
Also, the number of parameters is 71, 333, 800, but ours is only 765, 787.
More importantly, why do not you test the batch performance of UltraFast?
from lstr.
Now on my platform, using the python script you linked, iterations=1000, when batch=1, UltraFast runs 202 fps and uses1189MiB GPU memory usage; when batch=16, UltraFast runs 299 FPS and uses 5653MiB GPU memory usage. You can list the performance of LSTR evaluated by you own and you will get the idea.
from lstr.
Model serving is another thing. It depends on the real scenario.
It may process one frame one time in real time scenario, or process batch frames one time in non-real time scenario.
According your opinion, FPS has relationship with batch, more batch corresponds to higher FPS theoretically, so how to define FPS.
If the GPU memory is unlimited, FPS is infinitely great?
DL papers about fps has never mentioned corresponding batch parameter.
And I run the python script directly, here's the result below.
from lstr.
How a GPU memory can be unlimited? What’s your point? I never want the gpu memory to be unlimited.
I list the FPS performance and the memory usage, why you always ignore the cost of gpu memory of different methods when discussing?
You run the code, don’t you see their FPS performance gains a little and is slower than LSTR? Do you ever just think a little why this happens?
What a joke that “DL papers about FPS has NEVER mentioned corresponding batch parameters”.
DL papers care about computation complexity, and FPS is just a matter of implementation. If you do not accept that idea, please do not disturb me and I will keep this issue open.
from lstr.
I said I agree with the importance of MACs(0.574G) and the number of parameters(0.77M) of your model.
I also care about computation complexity.
And we argue about if FPS has relationship to do with batch. The FPS here is just standard criterion, not the practical model serving result or implementation result.
If it does, how do you get your 420fps? batch=16? It seems unfair to compare with others whose batch=1. Or at least you should mark out batch=16 in your paper.
If it does not, well you seems disagree with this.
from lstr.
You said, "The FPS here is just standard criterion, not the practical model serving result or implementation result", but did you know the convolution operation has been accelerated very fast through years of effort by many accelerating methods (you need CUDA to run any PyTorch codes, don't you ever think why?), but the PyTorch implementation of Transformer seems to have no such treatment. I have repeatedly asked you to focus on computation complexity because it is the ONLY criterion that has nothing to do with implementation, not the FPS you think ideally (standard criterion??? how standard??? which criterion??? are you living in your own world???).
How to measure speed has been written on the README since the beginning of this repo.
I don't know who you are but I still respect your passion, so could you please:
- think that why other methods do not increase FPS significantly after increasing parallel data throughput by 16 times;
- find a method that achieves ~96.18 TuSimple accuracy and runs faster than LSTR in any case on any of your own platform.
Then I will be willing to discuss with you. Otherwise, please do not waste our time and public resources.
By the way, the other issue you raise also makes me confused #20. Normally I would help anyone who raises issues, but I've never been able to get your point. I think you just live in your own world.
from lstr.
I don't want to discuss with you any more. Maybe it's you who lives in his own world.
Lightweight model doesn't mean fewer cost time.
Lane detection belongs to driverless field! Do you think how to apply this? predict batch after driving a long time or predict one by one in real time? No matter how high fps can get, it's meaningless if the cost time can't be low.
Maybe you just research for research's sake, regardless of the actual application scenario. Real time is its premise!
If using batch prediction, fps can be higher more or less, why other models don't calculate fps in this way? Maybe you should think about it carefully.
With all the power of irony, how horrible and arrogant!
Well, you are right about everything, do not waste our time and public resources, just close it!
from lstr.
Our company has applied a faster version Transformer to accelerate LSTR (weak up! you are just a rookie), which achieves an incredible speed FPS number you'd never imagine on a real mobile chip.
If you are very happy to use BIG models to detect lanes on GPU in 300 FPS, WOW, you are so clever and the smartest genius in the world. Yes, you are the best and the most polite questioner. I am horrible and arrogant!!!😈😈😈 So what? You are just an anonymous pathetic clown hiding in the corner of the internet. However, it's good that you're having fun on your own.
from lstr.
Well, it seems modesty and politeness being laughted and rudeness being advocated, you put the cart before a horse! The moral degeneration of the world is getting worse day by day.
If you think my question is low, you can just ignore it or close it. Mock、sarcasm、persiflage and personal attack, is it necessary? The spirit of keyboard man is in full play on you. Can't even imagine it's a PHD's words.
You are all right about everything, OK? Don't comment any more. When did it get so hard to be polite?
from lstr.
Please look at how other guys raise issues and how I answer them. Out of enthusiasm, I discuss issues with every person.
However, when did Ph.D. status become a kind of moral kidnapping?
No matter what my status is, I am only targeting you for mock, sarcasm, persiflage, and personal attack. 😈
from lstr.
Not moral kidnapping, but the basic morality of being a man. Like don't swear first, don't hit first.
Don't your teacher tell you how to be a man, or just tell you how to do research?
Maybe you are right, education has nothing to do with morality.
As I said, If you think my question is low, you can just ignore it or close it. Sarcasm may not be the appropriate way.
When one person disagrees with you or can't understand you, mock, sarcasm, persiflage, and personal attack are your first action? You are so mean? When did it get so hard to seek common points while reserving difference.
Well, as you said, it's good that you're having fun on your own. Looking at you screaming、laughing, it's like watching a clown jump, please stop your poor histrionics, so ridiculous and lugubrious.
from lstr.
I never feel that there is a high or low level of questions, however, from all other issues that you raised #20 and talengu/Wox.Plugin.BookmarkSearcher/issues/9 (other authors do not even want to talk to you), I think you should mind your manners first.
Again, please look at how other guys raise issues and how I answer them.
Just say "less morality, mean, mock, sarcasm, persiflage, personal attack, ridiculous and lugubrious" or any words you used to attack me. I think your self-presentation is very appropriate.
from lstr.
So polite man should always blindly self-surrender? Can't he fight back?
It's you who reacts in these manners first(mock、sarcasm、persiflage and personal attack), and you admin it in the reply!(No matter what my status is, I am only targeting you for mock, sarcasm, persiflage, and personal attack.)
One question I asked don't be answered, such a small thing deserves talking? Maybe the pictures don't upload successfully.
How mean you are! You are so boring to browse my record? So you can find mudslinging to humiliate me? Do you have psychological shadows?
And as you say, other authors don't answer me, it's OK for me and everything's fine. Can't you learn it?
from lstr.
I just repeat the words you say to me, if you think that was an admin (admit I guess), sorry I overestimated your emotional and intellectual quotient.
When did GitHub's contribution activity is kind of personal privacy?
So I just click your GitHub profile then you think I have psychological shadows?
Hey, calm down, will you?
from lstr.
‘I am only targeting you for mock, sarcasm, persiflage, and personal attack‘
How clear it is?And you can't even admit your words! Being a man, can you be of some responsibility?
As I repeated, no matter how low the question or how stupid you look at me, just ignore it, close the issue or even delete the issue. Is there any reason you attack me first?
Maybe you have strong research ability, but the morality, emmm, you don't deserve it!
from lstr.
@liuruijin17 That's great to hear! Recently I've been thinking that maybe instead of changing batch-size, changing the input resolution is a more logical choice to profiling different methods. We might get round to that later here.
from lstr.
Related Issues (20)
- 测试用自己的数据集训练的模型 HOT 2
- I'm testing with my dataset, but there are an error that test.py can not read test set. HOT 2
- ModuleNotFoundError: No module named 'loguru'
- AttributeError: 'NoneType' object has no attribute 'shape'
- How to set batch_size, iterations and other parameters?
- Test images/label names should be same as train images/label names?
- 关于论文的一点小疑惑
- Thank You! HOT 1
- Little bug in db/custom.py HOT 1
- Training stop
- Hello,i want to ask why my accuary only 0.64?
- Curvature values HOT 1
- test on own data with CUlane pretrained model
- Run.sh
- some questions about training input
- 关于模型参数的一点疑问 HOT 1
- 训练速度很慢,重写代码后训练不出效果来
- Visualization of custom data results HOT 1
- Training on a 3090 requires a modification to the torch
- Bottleneck问题 HOT 2
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 lstr.