05 2018 档案
摘要:在分析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版本...
阅读全文
摘要:1. 相关软件版本 xshell: xmanager: pycharm: pycharm破解服务器:https://jetlicense.nss.im/ 2. 将相应的软件安装(pojie好) a> 启动xmanager passive,这个是用来接受linux转发过来的x11的: b> 设置xshell,使用ssh隧道将x11转发到windows机器上 在被设置的服务器上执行ech...
阅读全文