Example of using ECVL with EDDL.
#include <iostream>
#include <sstream>
#include <unordered_map>
using namespace eddl;
using namespace std;
int main()
{
if (!
ImRead(
"../examples/data/test.jpg", img)) {
return EXIT_FAILURE;
}
tmp = img;
auto augs = make_shared<SequentialAugmentationContainer>(
AugNormalize({ 0.485, 0.456, 0.406 }, { 0.229, 0.224, 0.225 })
);
augs->Apply(img);
cout << "Executing ImageToTensor" << endl;
Tensor* t;
t->div_(128);
t->mult_(128);
cout << "Executing TensorToImage" << endl;
cout << "Executing TensorToView" << endl;
stringstream ss(
"SequentialAugmentationContainer\n"
" AugRotate angle=[-5,5] center=(0,0) interp=\"linear\"\n"
" AugAdditiveLaplaceNoise std_dev=[0,0.51]\n"
" AugCoarseDropout p=[0,0.55] drop_size=[0.02,0.1] per_channel=0\n"
" AugAdditivePoissonNoise lambda=[0,40]\n"
" AugResizeDim dims=(224,224) interp=\"linear\"\n"
" AugToFloat32 divisor=255\n"
" AugNormalize mean=(0.485, 0.456, 0.406) std=(0.229, 0.224, 0.225)\n"
"end\n"
);
newdeal_augs->Apply(tmp);
auto training_augs = make_shared<SequentialAugmentationContainer>(
);
auto test_augs = make_shared<SequentialAugmentationContainer>(
);
int batch_size = 64;
cout << "Creating a DLDataset" << endl;
cout << "Create x and y" << endl;
Tensor* y =
new Tensor({ batch_size, static_cast<int>(d.
classes_.size()) });
cout << "Executing LoadBatch on training set" << endl;
cout << "Executing LoadBatch on test set" << endl;
delete x;
delete y;
delete t;
return EXIT_SUCCESS;
}