随着WGDC2018顺利结束,2018上半年的工作也暂告一段落,年后这4个月中,零零散散做了一些深度学习在影像方面的事情,从街景、无人机、遥感影像、火星都有所涉及。正好利用WGDC上的演讲幻灯片稍作修改,做个工作小节。

书写是为了更好的思考
当今世界任然有数百万公里甚至更多的道路没有录入到我们的地图中,尤其是在发展中国家更是有大量的道路没有进行数字化,即使是在发大的城市中也有许多道路未能及时更新,而这对于导航、灾害应急都极为重要,而绘制这些发展中国家的道路又比较困难,如果用传统的方式采用线下测绘,或者用人工解译的方式在遥感影像上勾绘,缺点显而易见:投入成本高、绘图周期长、消耗大量的人力物力。
深度学习中的Loss Function有很多,常见的有L1、L2、HingeLoss、CrossEntropy,其最终目的就是计算预测的 $f(x)$ 与真值 $y$ 之间的差别,而优化器的目的就是minimize这个差值,当loss的值稳定后,便是 $f(x)$ 的参数$W$最优的时候。不同的Loss Function适用场景不同,各个深度学习框架实现大同小异,这里用PyTorch来对常见的Loss Function进行阐述。这里先构造一个预测值 $\hat{y}$ 和真值 $y$
在平时的机器学习和深度学习的工作中,虽然在mac os上用brew配置各种机器学习、深度学习以及地理相关的开发环境比较容易,但是公司的linux上又是另一套安装方法,略显麻烦,对于新来的同事或者实习生也得手把手教一遍配置各种包库,不仅浪费时间,而且新手很容易把环境搞崩掉。平台组的同事已近把docker用于开发中,那么我们是不是也可以把机器学习、深度学习的开发环境打包到docker中呢?当然是可以的,TensorFlow、pytorch、caffe等深度学习框架都有自己的官方docker image,虽然可以分开用,但是我们还要用到sk-learn、sk-image、pandas、gdal等其它工具,所以把这些都打包到一个image中不仅用着方便,不用每次在各个docker image之间切换,还能减少总的image的大小,更有助于提高工作效率,不用浪费大量的时间再各种环境的配置上面,真正做到了一次打包四处开发的效果。
最近的工作内容一直围绕着机器学习展开,断断续续看了不少教程,这里正好拿着kaggle的House Prices: Advanced Regression Techniques练练手,总结一下机器学习的大致流程。
看了许多教程和机器学习的经验,都提到过一句话:搞机器学习,对数据和业务的认识很重要,所以下面就先来看看数据长什么样子,以及数据可视化中常用的方法和工具,python中数据的读取以及处理的瑞士军刀非pandas莫属,而可视化有matplotlib和seaborn两个方便的工具
在二维地理对象中,两两实体之间的关系可以用三种关系表达:
那么在PostGIS中intersection如何定义呢?即两个相交的对象,其两者之间的关系必然是interior或者boundary,并且有共同的点,这些共有的点就是相交部分。
古语有云:All Roads Lead to Rome, 我们利用GeoHey提供的最短路径API制作了中国版的条条大陆通北京、上海、广州、武汉、成都,以及每个省到自己省会的条条大路通罗马图。全国每隔0.1个经纬度(大约11km)采一个点作为起点,共计96442个起点,每个起点都会生成一条最短路径,重复越多的路径,其线越粗、颜色也越深。在线地图地址:roads to rome
1 | npm install hexo-cli -g |
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Simple inline $a = b + c$.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment