Commit aba68d6f authored by Davis King's avatar Davis King

merged

parents 428b0bb8 1f0705ae
......@@ -1233,15 +1233,25 @@ namespace dlib
<< "\n\t is_same_object(in_img,out_img): " << is_same_object(in_img,out_img)
);
typedef typename pixel_traits<typename image_traits<out_image_type>::pixel_type>::basic_pixel_type type;
typedef typename promote<type>::type ptype;
const matrix<ptype,0,1>& filt = create_gaussian_filter<ptype>(sigma, max_size);
ptype scale = sum(filt);
scale = scale*scale;
return spatially_filter_image_separable(in_img, out_img, filt, filt, scale);
if (sigma < 18)
{
typedef typename pixel_traits<typename image_traits<out_image_type>::pixel_type>::basic_pixel_type type;
typedef typename promote<type>::type ptype;
const matrix<ptype,0,1>& filt = create_gaussian_filter<ptype>(sigma, max_size);
ptype scale = sum(filt);
scale = scale*scale;
return spatially_filter_image_separable(in_img, out_img, filt, filt, scale);
}
else
{
// For large sigma we need to use a type with a lot of precision to avoid
// numerical problems. So we use double here.
typedef double ptype;
const matrix<ptype,0,1>& filt = create_gaussian_filter<ptype>(sigma, max_size);
ptype scale = sum(filt);
scale = scale*scale;
return spatially_filter_image_separable(in_img, out_img, filt, filt, scale);
}
}
......
......@@ -56,7 +56,9 @@ template <typename SUBNET> using ares_down = base_ares<2,SUBNET>;
// Now that we have these convenient aliases, we can define a residual network
// without a lot of typing. Note the use of a repeat layer. This special layer
// type allows us to type repeat<9,res<SUBNET>> instead of
// res<res<res<res<res<res<res<res<res<SUBNET>>>>>>>>>.
// res<res<res<res<res<res<res<res<res<SUBNET>>>>>>>>>. It will also prevent
// the compiler from complaining about super deep template nesting when creating
// large networks.
const unsigned long number_of_classes = 10;
using net_type = loss_multiclass_log<fc<number_of_classes,
avg_pool<11,11,11,11,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment