@@ -94,7 +94,7 @@ class DataReaderFromEmpty : public ncnn::DataReader
{
public:
virtual int scan(const char* format, void* p) const { return 0; }
virtual int read(void* /*buf*/, in t size) const { return size; }
virtual size_t read(void* /*buf*/, size_ t size) const { return size; }
};
class NetOptimize : public ncnn::Net
@@ -167,7 +167,7 @@ void NetOptimize::find_fastest_fp32_conv(const char* dataname, int w, int h, int
// embeded system generally use single thread
opt.num_threads = 1;
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
ncnn::Extractor ex = create_extractor();
ncnn::Mat input(w, h, c);
@@ -318,7 +318,7 @@ int NetOptimize::support_fp32_conv_type(const ncnn::Convolution* op, const ncnn:
int NetOptimize::fuse_batchnorm_scale()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "BatchNorm")
@@ -379,7 +379,7 @@ int NetOptimize::fuse_batchnorm_scale()
int NetOptimize::fuse_convolution_batchnorm()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Convolution")
@@ -422,7 +422,7 @@ int NetOptimize::fuse_convolution_batchnorm()
std::vector<float> b(channels);
for (int i=0; i<channels; i++)
{
float sqrt_var = sqrt(batchnorm->var_data[i] + eps);
float sqrt_var = static_cast<float>(s qrt(batchnorm->var_data[i] + eps) );
a[i] = batchnorm->bias_data[i] - batchnorm->slope_data[i] * batchnorm->mean_data[i] / sqrt_var;
b[i] = batchnorm->slope_data[i] / sqrt_var;
}
@@ -462,7 +462,7 @@ int NetOptimize::fuse_convolution_batchnorm()
int NetOptimize::fuse_convolutiondepthwise_batchnorm()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "ConvolutionDepthWise")
@@ -505,7 +505,7 @@ int NetOptimize::fuse_convolutiondepthwise_batchnorm()
std::vector<float> b(channels);
for (int i=0; i<channels; i++)
{
float sqrt_var = sqrt(batchnorm->var_data[i] + eps);
float sqrt_var = static_cast<float>(s qrt(batchnorm->var_data[i] + eps) );
a[i] = batchnorm->bias_data[i] - batchnorm->slope_data[i] * batchnorm->mean_data[i] / sqrt_var;
b[i] = batchnorm->slope_data[i] / sqrt_var;
}
@@ -545,7 +545,7 @@ int NetOptimize::fuse_convolutiondepthwise_batchnorm()
int NetOptimize::fuse_deconvolution_batchnorm()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Deconvolution")
@@ -588,7 +588,7 @@ int NetOptimize::fuse_deconvolution_batchnorm()
std::vector<float> b(channels);
for (int i=0; i<channels; i++)
{
float sqrt_var = sqrt(batchnorm->var_data[i] + eps);
float sqrt_var = static_cast<float>(s qrt(batchnorm->var_data[i] + eps) );
a[i] = batchnorm->bias_data[i] - batchnorm->slope_data[i] * batchnorm->mean_data[i] / sqrt_var;
b[i] = batchnorm->slope_data[i] / sqrt_var;
}
@@ -628,7 +628,7 @@ int NetOptimize::fuse_deconvolution_batchnorm()
int NetOptimize::fuse_deconvolutiondepthwise_batchnorm()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "DeconvolutionDepthWise")
@@ -671,7 +671,7 @@ int NetOptimize::fuse_deconvolutiondepthwise_batchnorm()
std::vector<float> b(channels);
for (int i=0; i<channels; i++)
{
float sqrt_var = sqrt(batchnorm->var_data[i] + eps);
float sqrt_var = static_cast<float>(s qrt(batchnorm->var_data[i] + eps) );
a[i] = batchnorm->bias_data[i] - batchnorm->slope_data[i] * batchnorm->mean_data[i] / sqrt_var;
b[i] = batchnorm->slope_data[i] / sqrt_var;
}
@@ -711,7 +711,7 @@ int NetOptimize::fuse_deconvolutiondepthwise_batchnorm()
int NetOptimize::fuse_innerproduct_batchnorm()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "InnerProduct")
@@ -754,7 +754,7 @@ int NetOptimize::fuse_innerproduct_batchnorm()
std::vector<float> b(channels);
for (int i=0; i<channels; i++)
{
float sqrt_var = sqrt(batchnorm->var_data[i] + eps);
float sqrt_var = static_cast<float>(s qrt(batchnorm->var_data[i] + eps) );
a[i] = batchnorm->bias_data[i] - batchnorm->slope_data[i] * batchnorm->mean_data[i] / sqrt_var;
b[i] = batchnorm->slope_data[i] / sqrt_var;
}
@@ -794,7 +794,7 @@ int NetOptimize::fuse_innerproduct_batchnorm()
int NetOptimize::fuse_innerproduct_dropout()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "InnerProduct")
@@ -862,7 +862,7 @@ int NetOptimize::fuse_innerproduct_dropout()
int NetOptimize::fuse_convolution_activation()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Convolution")
@@ -933,7 +933,7 @@ int NetOptimize::fuse_convolution_activation()
int NetOptimize::fuse_convolutiondepthwise_activation()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "ConvolutionDepthWise")
@@ -1004,7 +1004,7 @@ int NetOptimize::fuse_convolutiondepthwise_activation()
int NetOptimize::fuse_deconvolution_activation()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Deconvolution")
@@ -1075,7 +1075,7 @@ int NetOptimize::fuse_deconvolution_activation()
int NetOptimize::fuse_deconvolutiondepthwise_activation()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "DeconvolutionDepthWise")
@@ -1146,7 +1146,7 @@ int NetOptimize::fuse_deconvolutiondepthwise_activation()
int NetOptimize::fuse_innerproduct_activation()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "InnerProduct")
@@ -1217,7 +1217,7 @@ int NetOptimize::fuse_innerproduct_activation()
int NetOptimize::eliminate_dropout()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Dropout")
@@ -1261,7 +1261,7 @@ int NetOptimize::eliminate_dropout()
int NetOptimize::eliminate_pooling1x1()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Pooling")
@@ -1318,7 +1318,7 @@ int NetOptimize::eliminate_pooling1x1()
int NetOptimize::eliminate_noop()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Noop")
@@ -1331,7 +1331,7 @@ int NetOptimize::eliminate_noop()
// Noop
fprintf(stderr, "eliminate_noop %s\n", noop->name.c_str());
in t top_blob_count = noop->tops.size();
size_ t top_blob_count = noop->tops.size();
for (int k=0; k<top_blob_count; k++)
{
int top_blob_index_final = noop->tops[k];
@@ -1365,7 +1365,7 @@ int NetOptimize::eliminate_noop()
fprintf(stderr, "eliminate_noop %s %s\n", any->name.c_str(), noop->name.c_str());
in t top_blob_count = std::min(noop->tops.size(), any->tops.size());
size_ t top_blob_count = std::min(noop->tops.size(), any->tops.size());
for (int k=0; k<top_blob_count; k++)
{
int top_blob_index_final = noop->tops[k];
@@ -1380,7 +1380,7 @@ int NetOptimize::eliminate_noop()
int NetOptimize::eliminate_orphaned_memorydata()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "MemoryData")
@@ -1423,7 +1423,7 @@ int NetOptimize::eliminate_orphaned_memorydata()
int NetOptimize::eliminate_reshape_after_global_pooling()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Pooling")
@@ -1469,7 +1469,7 @@ int NetOptimize::eliminate_reshape_after_global_pooling()
int NetOptimize::eliminate_flatten_after_global_pooling()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Pooling")
@@ -1513,7 +1513,7 @@ int NetOptimize::eliminate_flatten_after_global_pooling()
int NetOptimize::eliminate_flatten_after_innerproduct()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "InnerProduct")
@@ -1554,7 +1554,7 @@ int NetOptimize::eliminate_flatten_after_innerproduct()
int NetOptimize::eliminate_reshape_before_binaryop()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Reshape")
@@ -1602,7 +1602,7 @@ int NetOptimize::eliminate_reshape_before_binaryop()
int NetOptimize::replace_convolution_with_innerproduct_after_global_pooling()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (int i=0; i<layer_count; i++)
{
if (layers[i]->type != "Pooling")
@@ -1664,7 +1664,7 @@ int NetOptimize::replace_convolution_with_innerproduct_after_global_pooling()
int NetOptimize::replace_convolution_with_innerproduct_after_innerproduct()
{
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
for (;;)
{
bool replaced = false;
@@ -1785,7 +1785,7 @@ int NetOptimize::fwrite_weight_tag_data(int tag, const ncnn::Mat& data, FILE* bp
// padding to 32bit align
int nwrite = ftell(bp) - p0;
in t nalign = alignSize(nwrite, 4);
size_ t nalign = alignSize(nwrite, 4);
unsigned char padding[4] = {0x00, 0x00, 0x00, 0x00};
fwrite(padding, sizeof(unsigned char), nalign - nwrite, bp);
@@ -1801,7 +1801,7 @@ int NetOptimize::fwrite_weight_data(const ncnn::Mat& data, FILE* bp)
// padding to 32bit align
int nwrite = ftell(bp) - p0;
in t nalign = alignSize(nwrite, 4);
size_ t nalign = alignSize(nwrite, 4);
unsigned char padding[4] = {0x00, 0x00, 0x00, 0x00};
fwrite(padding, sizeof(unsigned char), nalign - nwrite, bp);
@@ -1815,7 +1815,7 @@ int NetOptimize::save(const char* parampath, const char* binpath)
fprintf(pp, "7767517\n");
const in t layer_count = layers.size();
const size_ t layer_count = layers.size();
int layer_count_fused = 0;
std::set<std::string> blob_names;
@@ -1827,14 +1827,14 @@ int NetOptimize::save(const char* parampath, const char* binpath)
layer_count_fused++;
in t bottom_count = layer->bottoms.size();
size_ t bottom_count = layer->bottoms.size();
for (int j=0; j<bottom_count; j++)
{
int bottom_blob_index = layer->bottoms[j];
blob_names.insert(blobs[bottom_blob_index].name);
}
in t top_count = layer->tops.size();
size_ t top_count = layer->tops.size();
for (int j=0; j<top_count; j++)
{
int top_blob_index = layer->tops[j];
@@ -1842,9 +1842,9 @@ int NetOptimize::save(const char* parampath, const char* binpath)
}
}
in t blob_count_fused = blob_names.size();
size_ t blob_count_fused = blob_names.size();
fprintf(pp, "%d %d\n", layer_count_fused, blob_count_fused);
fprintf(pp, "%d %z d\n", layer_count_fused, blob_count_fused);
for (int i=0; i<layer_count; i++)
{
@@ -1852,10 +1852,10 @@ int NetOptimize::save(const char* parampath, const char* binpath)
if (layer->type == "ncnnfused")
continue;
in t bottom_count = layer->bottoms.size();
in t top_count = layer->tops.size();
size_ t bottom_count = layer->bottoms.size();
size_ t top_count = layer->tops.size();
fprintf(pp, "%-24s %-24s %d %d", layer->type.c_str(), layer->name.c_str(), bottom_count, top_count);
fprintf(pp, "%-24s %-24s %z d %z d", layer->type.c_str(), layer->name.c_str(), bottom_count, top_count);
for (int j=0; j<bottom_count; j++)
{