摘要:
anttlr的代码样例:https://github.com/antlr/grammars-v4.git 很早之前就想基于java的语法树做一些事情,今天再次弄来看看。 基于antlr的官方java parer语法,可能很容易的得到一颗AST。 基于这个AST,遍历进行操作,就可以得到自己想要的东西 阅读全文
摘要:
JVM内存调优实践+模拟案例: https://blog.csdn.net/u010372867/article/details/53380036 关于JDK8, 内存区域分布和JVM参数设置的关系,这张图比较好: -server -Xms4608m -Xmx4608m -Xmn2048m -Xss 阅读全文
摘要:
python可以利用SO的方式去调用C++中的函数,但是需要一种调试方案来进行python和C++的联合调试,效果是直接在c++代码中打断点,然后python在进行c++so调用的时候,直接进入到断点处: testlib.cpp #include ... 阅读全文
摘要:
在分析caffe2源码的过程中,由于caffe2使用protobuf作为网络结构和网络参数序列化和反序列化的机制,想在反序列化之前进行加解密处理,这是反向protouf其实有两个版本的实现来进行消息的解析。 protobuf 中对消息的解析有两个版本,一个是python版本,另外一个是c++版本。python版本相关的代码存放路径在:./python/google/protobu... 阅读全文
摘要:
背景:最近在写一个基于opencl的正向神经网络框架,项目地址 https://github.com/aktiger/YoloOCLInference ,我从这里https://github.com/pengdada/YoloOCLInference fork了一个基本的脚手架,但是原始的项目只支持windows的版本,首先把它移植到linux下,由于需要支持resnet18,还缺少7*7... 阅读全文
摘要:
git ls-files -d | xargs -i git checkout {} 阅读全文
摘要:
需要使用cmake的find_package将boost库添加到项目中,通过cmake --help-module FindBoost 可以查看cmake引入Boost的帮助信息: 可以看到,Boot_LIBRARIES确实是boost相关的库,刚开始编写的CMakeLists.txt文件如下: cmake_minimum_required(VERSION 2.8.4) project(boos... 阅读全文
摘要:
一个函数可重入是指该函数可以被多个线程同时调用。大多数函数都不是可重如的,因为很多函数会修改静态数据结构里的内容,如果多个线程同时调用,势必破坏共享的静态结构。可以在不改变公共接口的情况下,将一个非重入函数修改为可重入函数。思想是使用线程的本地存储来实现,而boost::thread_specific_ptr正好提供了使用TLS(thread local storage)的机制。 在caff... 阅读全文
摘要:
很多时候,服务器都没有连接外部互联网的条件,需要利用代理服务器才能够访问外网资源进行软件包的升级: ubuntu修改apt-get的代理可以使用代理进行安装包的升级:ubuntu@ubuntu:~$ cat /etc/apt/apt.conf Acquire::http::Proxy http://Username:Password@proxy.foo.bar.edu.au:8080; 网易... 阅读全文
摘要:
使用git clone下载protobuf的源代码,然后git checkout到branch2.7.0: 编译protobuf,先在代码顶层目录执行./configure,然后执行make,成功后执行sudo ldconfig,重新加载动态库。 经过试验发现,使用protoc编译onnx.proto,需要特别注意版本问题,使用3.5.1的版本,编译都会失败,而且中途会有提示gcc版本... 阅读全文