在
https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md
中有许多个模型。
先下一个试试效果如何:
http://download.tensorflow.org/models/deeplabv3_mnv2_dm05_pascal_trainaug_2018_10_01.tar.gz
由于
我的Tensoflow是1.0版。不能直接运行,先把模型编辑一下,去掉
“Conv2D”的属性“dilations”和“data_format”
以及“Cast”的属性“Truncate”
“ArgMax”的属性“output_type”,然后就可以运行了。
模型中的空洞卷积是用SpaceToBatchND 和 BatchToSpaceND,先要用C++实现这两个函数
1。SpaceToBatchND 函数:
//四维 pad1(左、上补边),pad2(右、下补边)
张量 * SpaceToBatchND(张量 &in,int block_shape,int pad1,int pad2)
{
张量* out= new张量(in.num);
out->value=new int[out->num];
// //批,高,宽,通道 N,H,W,C
//输入四维[b, h, w, c], padding后[b, new_h, new_w, c]
//x = np.pad(out_in, ((0,0), (4,7),(4,7), (0,0)), 'constant') // from shape (1, 2, 2, 1) to (1, 6, 6, 1)
//x_shape=x.shape
//b = x_shape[0]
//new_h = x_shape[1]
//new_w = x_shape[2]
//c = x_shape[3]
//批,通道&#x