Comments (6)
Hey @zhuanjiao2222 , since I replace the padding method from 'VALID' to 'SAME' in first three layers.
from icnet-tensorflow.
Hi, @hellochick , I know why the accuracy of your code is lower than original ICNet. Your code is a little different from original ICNet, I changed your code based on ICNet:
(1)The original ICNet is taken 1025*2049 as input.
(2) Befor max_pool layer, I added a zero_padding layer: zero_padding(paddings=1, name='padding0')
(3)The interp layer in caffe is different from yours, so I changed the interp layer of your code as follows:
def interp(self, input, shrink_factor=1, zoom_factor=1, name=None):
ori_h, ori_w = input.get_shape().as_list()[1:3]
ori_h = (ori_h - 1) * shrink_factor + 1
ori_w = (ori_w - 1) * shrink_factor + 1
ori_h = ori_h + (ori_h - 1) * (zoom_factor - 1)
ori_w = ori_w + (ori_w - 1) * (zoom_factor - 1)
resize_shape = [int(ori_h), int(ori_w)]
return tf.image.resize_bilinear(input, size=resize_shape, align_corners=True, name=name)
(3) I changed the kernel size and strides in avg_pool layers based on ICNet:
shape = self.layers['conv5_3/relu'].get_shape().as_list()[1:3]
# h, w = shape
(self.feed('conv5_3/relu')
.avg_pool(33, 65, 33, 65, name='conv5_3_pool1')
.resize_bilinear(shape, name='conv5_3_pool1_interp'))
(self.feed('conv5_3/relu')
.avg_pool(17, 33, 16, 32, name='conv5_3_pool2')
.resize_bilinear(shape, name='conv5_3_pool2_interp'))
(self.feed('conv5_3/relu')
.avg_pool(13, 25, 10, 20, name='conv5_3_pool3')
.resize_bilinear(shape, name='conv5_3_pool3_interp'))
(self.feed('conv5_3/relu')
.avg_pool(8, 15, 5, 10, name='conv5_3_pool6')
.resize_bilinear(shape, name='conv5_3_pool6_interp'))
Through the above changes, I got a 67.36% accuracy rate on train_30k model and 81.06% accuracy rate on train_90k model. But why it is higher than original ICNet when using train_90k model?
from icnet-tensorflow.
Hey @zhuanjiao2222, you did an amazing job, really appreciate for your help. Can you make a pull request, so that I can merge your work ? For your question about train_90k model: Since this trainval_90k is trained on train + validation dataset, so the accuracy will be really high.
from icnet-tensorflow.
Hi, @hellochick , I have made a pull request, but I only changed the ICNet model, the ICNet_bn model has not been changed.
from icnet-tensorflow.
Hi @zhuanjiao2222, I have merged your work! Thanks. Btw, I'll change a few lines to support different size of input images!
from icnet-tensorflow.
Hi, @hellochick , No Thanks!
from icnet-tensorflow.
Related Issues (20)
- Errors in restoring the session evalucation.py and network.py
- ValueError: Shape must be rank 4 but is rank 3 for 'data_sub2' (op: 'ResizeBilinear') with input shapes: [720,720,3], [2]. HOT 3
- Why is it suddenly 'killed' run train.py? HOT 1
- How predict the result to use my training model ckpt.meta?
- Dimension not equal HOT 1
- ValueError:Variable conv does not exist
- ValueError when using own dataset HOT 2
- Training own dataset
- Inference time is too high(about 3.5x as supposed to be ~0.04s)
- multi GPU training?
- tensorflow's version HOT 1
- How to use the pre-trained modle of ade20k provided by author,I use the code in demo.ipynb,but it can't open the file,the cityscapes works well.
- Training over-fitting after every epochs
- same classification result with every pixel HOT 1
- can get correct result
- bad results of voc2012
- The update stops and the loss does not drop HOT 4
- Assign requires shapes of both tensors to match. lhs shape= [13] rhs shape= [150]
- 上一个项目
- 关于ade20k的分割结果,颜色和标签有对应关系吗?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from icnet-tensorflow.