thekevinscott / UpscalerJS

Enhance Images with Javascript and AI. Increase resolution, retouch, denoise, and more. Open Source, Browser & Node Compatible, MIT License.
https://upscalerjs.com
MIT License
769 stars 75 forks source link

Remove benchmarking scripts #1217

Closed thekevinscott closed 9 months ago

wes-kay commented 9 months ago

With benchmarking is gone and the live site is down, is there anywhere to get any info on benchmarking without having to manually, do it?

Thanks,

thekevinscott commented 9 months ago

the live site is down

What do you mean by this?

Some context on why I removed these scripts.

Speed measurements are highly device-specific. The speed tests were leveraging Browserstack to perform inference on mobile devices, so there was at least some consistency in hardware, but there's huge variability in terms of what platforms are available, what version of software, even what's running at the same time. That combined with the dependency on Browserstack (which is also used for integration testing, and where we often ran out of slots) made me want to remove that.

Regarding performance measurements, I'm increasingly of the mind to move away from library-specific training of models and embracing pre-trained models converted into Javascript. (See #842.) In that case, it makes sense to refer to the original model repository or paper's references on performance, as they should be equivalent on a relative level.

Finally, I'd not run this particular benchmarking code in over a year and it would require some refactoring to bring up to date with the rest of the repository. I was not under the impression anyone was using it.

With that all said, I'd love to hear your perspective. Is benchmarking important to you? Are you relying on it in some way?

wes-kay commented 9 months ago

https://upscalerjs.com/demo/ When selecting an image (not uploading) there's no indication that it's working so I'm assuming it's down.

In terms of benchmarks, yes absolutely each machine will preform differently. Though there's no info for me to know how long I should expect this to take on average hardware without testing it manually.

Was just hoping to get some rough numbers for considering using it without having to run it.

thekevinscott commented 9 months ago

Gotcha. Thank you - it is indeed down, I opened up a bug report at #1243 and will work on getting that fixed. I'll drop you a line once it's back up.

wes-kay commented 9 months ago

No worries, do you even have a rough estimate on how long processing would take? Just need an idea on what to expect to see if it fits my use case, or what you would suggest, assuming when you say you're testing pre trained models and that you don't use this in your comment https://github.com/thekevinscott/UpscalerJS/pull/1217#issuecomment-1779278636 is there an updated lib?

thekevinscott commented 8 months ago

Each model's page should have information about its measurements:

Click the "relative Y" button to see a slightly more comparative version of the speed graph:

Screenshot 2023-10-31 at 5 55 12 AM

I spun up some of the examples, but it looks like there's something going wrong with the models. I'd hoped to push a fix but it appears the entire CI is down, which looks like it's related to @tensorflow/tfjs: https://github.com/thekevinscott/UpscalerJS/pull/1247

I'll post again once I have it fixed.