that's the point, it can't be done in C++.
* 300-1000 lines of code is too much for 10 days
* 1000 lines is not enough for this task if you decide to do it in C++.
Indeed. You buy the package from IBM.that's the point, it can't be done in C++.
* 300-1000 lines of code is too much for 10 days
* 1000 lines is not enough for this task if you decide to do it in C++.
I finally upgraded to Mathematica 11 -- and started playing around with their neural net stuff. It's pretty amazing IMO. One of their learning examples is using the cifar-10 dataset to do exactly this kind of project. As long as you have an Nvidia video card, it can use the GPU to do the training, so no need to pass this project to a server. Local training on my *very old* desktop with my *very old* video card should take about an hour for that accuracy, probably 5-10 or minutes or less with a modern desktop. (Well, I am really just guessing based upon successfully running one of their examples). Once trained, the 100ms response rate should be immediate. It's only a half-dozen lines of code: hereI think this is a typical interesting freelancer project:
Write a client application that uploads a photo to a server using a rest api over https. The server application does a simple "gender analysis" on te uploaded photo: {male, female, don't know}, and send the analysis results back in JSON. The server needs to do it in 100ms and have a 80% accuracy rate.
The software development budget is 10 days.
In C++ I see many many problems:
* how do you capture and store a photo?
* how do you send the photo to the server across a https socket? Don't forget to check the certificate.
* how does the server application capture the photo?
* how will te server do computer vision / AI and find the gender?
* how can you do move that to the GPU so that it performs within the specs?
* how do you serialize the response to JSON? (this one is easy!)
* how do you send the response back to the client?
And with a 10 days budget, you probably only get to write about 300-1000 lines of code?
In python this is easy. It takes just 2 days, the other 8 days of budget you use to take a mini vacation to Bora Bora.
NetTrain[net, trainingData, TargetDevice -> "GPU"];
"buy the package" means buying the complete software system instead of assembling it yourself. Surely someone has a package that satisfy the requirements?What do you mean "buy the package"? That's evading the premises in this discussion that software has to be developed with some specs and with some budget.
So... if we go back at the project description: how much work would it be in C++? What's your guess? And why would is be so much more than e.g. python? (to answer both you need to study the requirement I wrote down, what does it take, what tools would you use)
C# is better than C++ I reckon. Looks like it!I think this is a typical interesting freelancer project:
Write a client application that uploads a photo to a server using a rest api over https. The server application does a simple "gender analysis" on te uploaded photo: {male, female, don't know}, and send the analysis results back in JSON. The server needs to do it in 100ms and have a 80% accuracy rate.
The software development budget is 10 days.
In C++ I see many many problems:
* how do you capture and store a photo?
* how do you send the photo to the server across a https socket? Don't forget to check the certificate.
* how does the server application capture the photo?
* how will te server do computer vision / AI and find the gender?
* how can you do move that to the GPU so that it performs within the specs?
* how do you serialize the response to JSON? (this one is easy!)
* how do you send the response back to the client?
And with a 10 days budget, you probably only get to write about 300-1000 lines of code?
In python this is easy. It takes just 2 days, the other 8 days of budget you use to take a mini vacation to Bora Bora.
Cool! It seems to have a rich set of Machine Learning capabilities and examples!I finally upgraded to Mathematica 11 -- and started playing around with their neural net stuff. It's pretty amazing IMO. One of their learning examples is using the cifar-10 dataset to do exactly this kind of project. As long as you have an Nvidia video card, it can use the GPU to do the training, so no need to pass this project to a server. Local training on my *very old* desktop with my *very old* video card should take about an hour for that accuracy, probably 5-10 or minutes or less with a modern desktop. (Well, I am really just guessing based upon successfully running one of their examples). Once trained, the 100ms response rate should be immediate. It's only a half-dozen lines of code: hereI think this is a typical interesting freelancer project:
Write a client application that uploads a photo to a server using a rest api over https. The server application does a simple "gender analysis" on te uploaded photo: {male, female, don't know}, and send the analysis results back in JSON. The server needs to do it in 100ms and have a 80% accuracy rate.
The software development budget is 10 days.
In C++ I see many many problems:
* how do you capture and store a photo?
* how do you send the photo to the server across a https socket? Don't forget to check the certificate.
* how does the server application capture the photo?
* how will te server do computer vision / AI and find the gender?
* how can you do move that to the GPU so that it performs within the specs?
* how do you serialize the response to JSON? (this one is easy!)
* how do you send the response back to the client?
And with a 10 days budget, you probably only get to write about 300-1000 lines of code?
In python this is easy. It takes just 2 days, the other 8 days of budget you use to take a mini vacation to Bora Bora.
To invoke the GPU, the NetTrain line in the linked example is just changed to:Actually, this did not work for me the first time, but did after I took the support advice from WRI to upgrade my Nvidia driver. The effect of this line was to change my predicted training run-time from 36hrs (which I didn't do) to 1hr, which completed nicely. The actual example I ran is this one hereCode: Select allNetTrain[net, trainingData, TargetDevice -> "GPU"];
What's that got to do with C++ modules? (the topic of the current thread).This is something everyone should do who tries to fit a vol surface, but nobody does it:
https://www.wolfram.com/language/11/neu ... athematica
I have no idea, that was a long time ago, and reading back this threat went all over the place.What's that got to do with C++ modules? (the topic of the current thread).This is something everyone should do who tries to fit a vol surface, but nobody does it:
https://www.wolfram.com/language/11/neu ... athematica