- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 新系统Ubuntu18.4以上深度工具合集安装(Nvidia+CUDA+Tensorflow+Caffe+Torch)
之前在装有caffe的基础上,换CUDA7.5不成功,然后终于找到github上一个教程,一定要按里面的流程安装.把市面上用到的深度工具都装在ubuntu14.04上.现在更新了新系统Ubuntu18.04,显卡还是4路1080Ti,问题贼多,系统装完开机黑屏,无界面,卸载驱动出现循环登录可能,还可能界面鼠标顿卡,记录一下这三天的心塞历程,更新在最后面。有问题请留言.深度学习理论基础知识与进阶...
2016-06-03 16:53:50 12623 5
转载 Unsupported gpu architecture 'compute_11'解决方法
环境背景: 由于项目需要,在ubuntu service 14.04 下搭建 OpenCL +OpenCV 环境, 前期安装了 CUDA7.0 ,GPU为 NVIDIA TITAN 。问题描述: 按照网上教程安装OpenCV ,在make 时出现错误,错误提示如下:nvcc fatal : Unsupported gpu architecture 'compute_11'
2016-06-13 16:30:42 8345
原创 大图片(几个G)的读取
1、下载openslide2、我用的版本是3.4.1,然后进行build3、软件环境需求:zlib, libpng, libjpeg, libtiff, OpenJPEG 1.x or >= 2.1,GDK-PixBuf, libxml2, SQLite >= 3.6.20, cairo >= 1.2, and glib >= 2.16,其中有两个库不太好装。...
2016-06-12 12:42:58 7837 1
转载 从零开始山寨Caffe·拾贰:IO系统(四)
消费者回忆:生产者提供产品的接口在第捌章,IO系统(二)中,生产者DataReader提供了外部消费接口:class DataReader{public: ......... BlockingQueue& free() const { return ptr_pair->free; } BlockingQueue& full() const {
2016-06-11 19:13:41 2053
转载 从零开始山寨Caffe·拾:IO系统(三)
数据变形IO(二)中,我们已经将原始数据缓冲至Datum,Datum又存入了生产者缓冲区,不过,这离消费,还早得很呢。在消费(使用)之前,最重要的一步,就是数据变形。ImageNetImageNet提供的数据相当Raw,不仅图像尺寸不一,ROI焦点内容比例也不一,如图:[Krizhevsky12]给出了CNN打ImageNet的基本预处理,非常经典的
2016-06-11 19:12:42 1428
转载 从零开始山寨Caffe·玖:BlobFlow
听说Google出了TensorFlow,那么Caffe应该叫什么? ——BlobFlow神经网络时代的传播数据结构我的代码我最早手写神经网络的时候,Flow结构是这样的:struct Data{ vectordouble> feature; int y; Data(vectordo
2016-06-11 19:11:24 1446
转载 从零开始山寨Caffe·捌:IO系统(二)
生产者双缓冲组与信号量机制在第陆章中提到了,如何模拟,以及取代根本不存的Q.full()函数。其本质是:除了为生产者提供一个成品缓冲队列,还提供一个零件缓冲队列。当我们从外部给定了固定容量的零件之后,生产者的产能就受到了限制。由两个阻塞队列组成的QueuePair,并不是Caffe的独创,它实际上是生产者与消费者的编程方式之一。在大部分操作系统教
2016-06-11 19:10:02 1422
转载 从零开始山寨Caffe·柒:KV数据库
你说你会关系数据库?你说你会Hadoop?忘掉它们吧,我们既不需要网络支持,也不需要复杂关系模式,只要读写够快就行。 ——论数据存储的本质浅析数据库技术内存数据库——STL的map容器关系数据库横行已久,似乎大家已经忘了早些年那些简陋的数据存储模式。在ACM选手中,流传着“
2016-06-11 19:08:58 5226 1
转载 从零开始山寨Caffe·陆:IO系统(一)
你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图:其中,左半部分构成了新版Caffe最恼人、最庞大的IO系统。也是历来最不重视的一部分。第伍章又对左半部分的独立性进行了分析,我是这么描述到:Datum和
2016-06-11 19:07:48 1773
转载 从零开始山寨Caffe·伍:Protocol Buffer简易指南
你为Class外访问private对象而苦恼嘛?你为设计序列化格式而头疼嘛? ——欢迎体验Google Protocol Buffer面向对象之封装性历史遗留问题面向对象中最矛盾的一个特性,就是“封装性”。在上古时期,大牛们无聊地设计了三种访问域:public、private、protected。
2016-06-11 19:06:57 2279
转载 从零开始山寨Caffe·肆:线程系统
不精通多线程优化的程序员,不是好程序员,连码农都不是。 ——并行计算时代掌握多线程的重要性线程与操作系统用户线程与内核线程 广义上线程分为用户线程和内核线程。前者已经绝迹,它一般只存在于早期不支持多线程的系统中。它用模拟的方式实现一个模拟的多线程系统,不支持异步。即,一个线程被阻塞了,其它线
2016-06-11 19:06:11 2051
转载 从零开始山寨Caffe·叁:全局线程管理器
你需要一个管家,随手召唤的那种,想吃啥就吃啥。 ——设计一个全局线程管理器一个机器学习系统,需要管理一些公共的配置信息,如何存储这些配置信息,是一个难题。设计模式MVC框架在传统的MVC编程框架中,通常采取设立数据中心的做法,将所有配置信息存在其中。同时,将数据中心指针共享至所有类,形成一个以数据为中心,多
2016-06-11 19:05:14 2141
转载 从零开始山寨Caffe·贰:主存模型
你左手是内存,右手是显存,内存可以打死显存,显存也可以打死内存。 —— 请协调好你的主存从硬件说起物理之觞大部分Caffe源码解读都喜欢跳过这部分,我不知道他们是什么心态,因为这恰恰是最重要的一部分。内存的管理不擅,不仅会导致程序的立即崩溃,还会导致内存的泄露,当然,这只针对传统CPU程序而言。
2016-06-11 19:03:59 3301
转载 从零开始山寨Caffe·壹:仰望星空与脚踏实地
请以“仰望星空与脚踏实地”作为题目,写一篇不少于800字的文章。除诗歌外,文体不限。 ——2010·北京卷仰望星空规范性Caffe诞生于12年末,如果偏要形容一下这个框架,可以用"须敬如师长"。这是一份相当规范的代码,这个规范,不应该是BAT规范,那得是Google规范。很多自称码农的
2016-06-11 18:57:45 3285
转载 从零开始山寨Caffe·零:必先利其器
caffe掌握到一定得阶段,站到caffe的高点看看,源码。Physcalの大魔導書总结的不错。搬运工搬过来。感谢作者分享,版权归作者所有,仅供学习使用。工作环境巧妇有了米炊众所周知,Caffe是在Linux下写的,所以长久以来,大家都认为跑Caffe,先装Linux。niuzhiheng大神发起了caffe-windows项目(解决了一些编译、API相异问
2016-06-11 18:56:19 3761
原创 梳理caffe代码relu_layer(二十一)
ReLU函数就不多说了,我们直接看实现部分:#include #include #include "caffe/layers/relu_layer.hpp"namespace caffe {template void ReLULayer::Forward_cpu(const vector*>& bottom, const vector*>& top) { const
2016-06-06 22:08:45 7043
原创 梳理caffe代码pooling_layer(二十)
pooling层的代码实现:#include #include #include #include "caffe/layers/pooling_layer.hpp"#include "caffe/util/math_functions.hpp"namespace caffe {using std::min;using std::max;template void Po
2016-06-04 12:53:54 5781
原创 梳理caffe代码conv_layer(十九)
前面的基类理解了,这个比较简单了。conv_layer.cpp:#include #include "caffe/layers/conv_layer.hpp"namespace caffe {template void ConvolutionLayer::compute_output_shape() { const int* kernel_shape_data = thi
2016-06-04 12:02:24 3807
转载 MXNET Dependency Engine
基本背景知识MXNET中有一个依赖引擎,这个引擎是用来分析计算过程的依赖关系,把不依赖的计算并行化,以达到提高性能的目的。它的基本原理可以看官方的文档。 简单的说就是给每一个对象打上一个tag,这个tag叫做Var,每一个计算(op)都会依赖一个或者多个Var,依赖有两种类型:写依赖和读依赖。依赖引擎为每一个Var都维护一个队列,然后根据op的依赖关系向队列中添加ReadDependenc
2016-06-04 10:33:12 2921
转载 更新linux时候提示无法“由于没有公钥,无法验证下列签名 ***”的解决方案
这篇转自here新安装的Ubuntu在使用sudo apt-get update更新源码的时候出现如下错误:W: GPG 错误:http://ppa.launchpad.net precise Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 3EE66BD3F599ACE3W: GPG 错误:http://ppa.launchpad.net precise Rel
2016-06-02 19:04:33 4511
原创 ubuntu的tty下挂载移动硬盘拷贝数据
更换CUDA好多人都更换成功了,我却失败了,然后电脑最后进不了界面了,只有tty端,里面的数据能看到,但是不好弄出来,插上u盘或硬盘都出现什么找不到。所以以后记得一定要备份代码数据。记录一下方便有没备份的人使用吧。step 1:插入移动硬盘,然后输入命令 sudo fdisk -l 可看到所有硬盘信息和分区信息,如: 我的是 /dev/sdb1 * 204
2016-06-02 15:26:40 3340
原创 梳理caffe代码base_conv_layer(十八)
这个是实现卷积的基类。base_conv_layer.hpp#ifndef CAFFE_BASE_CONVOLUTION_LAYER_HPP_#define CAFFE_BASE_CONVOLUTION_LAYER_HPP_#include #include "caffe/blob.hpp"#include "caffe/layer.hpp"#include "caffe
2016-06-01 19:53:22 12067 4
Tensorflow 实战Google深度学习框架&&TensorFlow;实战(二)
2017-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人