- 博客(229)
- 资源 (51)
- 问答 (5)
- 收藏
- 关注
原创 【Tensorflow】源码编译详细教程
目的是,在开发 tensorflow 的过程中, 没有必要每次都编译 whl package 来安装生效,这样比较花费时间,如果我们是在 c++ 层代码, 仅仅需要在改动 c++ 之后, 编译需要调用的 so 文件,然后替换掉系统中的 so 文件;,网络上已经有很多教程了, 本篇文章,不讲接一开始各种环境的准备,直接说明在开发过程中,我们用到的集中编译方式和编译目标。如果确定开发完成,最终要提供客户使用,那么直接编译成安装包即可;
2023-02-23 00:25:24 968 1
原创 【OS系列-5】-重要概念理解:分段、分页、写时复制
分段(segmentation)什么是分段?基本思路是:创建进程的时候,首先在进程的虚拟内存空间中,分配出一段地址(0x00000000~0x00000100),然后将这段地址映射到实际的物理地址中(0x01000000 ~ 0x01000100)。也即当程序访问地址0x00000000的时候,实际上访问就是屋里地址0x01000000。为什么分段?为什么分段?如果不太好回答,那我们就反其道行之,看看不分段会有哪些缺点?如果不分段,不采用虚拟地址空间。用户每个进程直接使用实际的屋里内存地址,就会存在
2022-01-23 20:14:06 578
原创 【OS系列-4】- 内存详解(分配和回收)
内存详解(分配和回收内存申请malloc()/free()和new/delete异同为什么C++不淘汰malloc?malloc 的系统过程?怎么避免内存碎片化?动态内存管理内存分配三种形式内存分配的方式空间分配与回收所产生的问题分配算法边界标识法回收算法伙伴系统动态管理分配算法垃圾回收机制无用单元回收内存紧缩(避免内存碎片化)《深入理解计算机系统》(P580)从Code Segment到Stack的内存地址均位于用户空间中,其地址空间由低到高。其中:Code Segment(代码段或Tex
2022-01-16 17:51:33 1785
原创 【OS系列-3】-线程详解-通信和同步
线程详解线程间同步互斥锁(mutex)互斥量的死锁:读写锁条件变量(cond)信号量互斥与同步的区别互斥锁、条件变量和信号量的区别多线程和多进程比较多进程多线程死锁线程间同步锁机制:互斥锁、条件变量、信号量、读写锁互斥锁:提供了以排他方式数据结构被并发修改的方法读写锁:写锁优先抢占资源,读锁允许多个线程共同读共享数据,而写锁操作是互斥的条件变量:以原子方式阻塞进程,直到某个特定条件为真为止一般情况下:互斥锁起保护作用,条件变量和互斥锁一起使用互斥锁(mutex)锁机制是同一时刻只允许一个
2022-01-16 17:19:58 238
原创 【OS系列-2】- 进程详细讲解(代码示例)
进程进程详细讲解(代码示例)进程示例代码创建进程的具体过程?执行 fork()的时候系统做了什么?进程间通信管道消息队列共享内存信号量套接字进程间同步信号量文件锁无锁 CAS校验方式(CRC32校验)示例代码// C#include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <iostream> #include <string> using nam
2022-01-16 16:39:24 826
原创 【OS系列-1】- I/O操作进阶版细节
工作几年后,发现几乎每个行业,都存在这个行业的一套知识体系,这些知识体系,从基础理论来看,很多是相通的,甚至是相同的,比如理工类专业,基础理论基本都是数学以及数学的分支。如果你需要入门并且在这个行业发展,有效的方法,就是由浅入深阅读这个行业前任总结的经验——书籍。如果你真的能够用心的把已经存在的知识体系搞清楚,那么从事这个行业肯定没有问题。当然了,这件事情也不是一蹴而就的,需要在学校和工作岗位上不断深入理解。对于IT行业来说,目前应该是知识获取和信息获取最便捷的行业之一。方便的同时,带来了信息繁杂和冗余,
2022-01-16 16:31:10 357
原创 【TensorFlow】如何增加自定义算子
Tensorflow 增加自定义算子不增加新设备,只增加一个 user op【架构分析】TensorFlow 自定义算子实现原理分析_HaoBBNuanMM的博客-CSDN博客_tensorflow自定义算子添加新的Op - TensorFlow官方文档中文版 (pythontab.com)增加新设备,链接新的底层库TODO...
2021-12-01 10:34:42 1014 1
原创 三步骤:vscode远程登录(不用每次输入密码)
背景介绍:windows 安装 vscode , 远程访问 linux 服务器代码;每次登录都需要密码,很麻烦,设置一个空的密钥,每次重新打开项目不需要再次输入密码;省时省力。步骤在 windows 客户端生成秘钥# 进入 cmd 命令行,直接执行以下命令ssh-keygen为了简单起见,这里一路回车,不需要设置任何密码。# 结果会在 用户/.ssh/ 目录下生成两个文件,私钥: id_rsa,公钥: id_rsa.pub将公钥放到服务端# 将公钥上传到目录 /home/.
2021-08-03 14:36:21 6200
原创 ONNX 结构分析
ONNX 结构分析onnx将每一个网络的每一层或者说是每一个算子当作节点Node,再由这些Node去构建一个Graph,相当于是一个网络。最后将Graph和这个onnx模型的其他信息结合在一起,生成一个model,也就是最终的.onnx的模型。ResNet50这里我们将 ResNet50 的onnx图导出成文件。整体内容如下图所示,是整体的内容,其中核心部分 graph 被隐藏了起来。除了 graph 之外,包含了一些版本信息。node上文讲过了,网络的每一层或者每一个算子当作一个节
2021-07-21 20:57:55 1336
原创 TensorFlow中Graph完整的构建过程
学习TensorFlow之后,我们知道,在TensorFlow中,主要是通过构建graph的形式来构建真个框架的。本文想要彻底高清楚的问题就是:TensorFlow 中真个 graph 的构建流程:用户创建的时候是怎么构建的,也就是 python api 提供了什么样的形式来构建用户看的见的 graph;python api 创建的 graph 如何转换成 c++ 底层可用于计算的graphgraph 最终执行在硬件设备上是以什么形式;我想搞清楚这三个问题,基本上就掌握了深度学习框架,是怎么完
2021-06-23 16:36:53 1254
原创 卷积神经网络迁移学习
什么是迁移学习要训练一个复杂的卷积神经网络也需要几天甚至几周的时间。为了解决标注数据和训练时间的问题,提出了迁移学习。所谓迁移学习,就是将一个问题上训练好的模型通过简单的调整使其适用于一个新的问题。简单来说,就是借助原先的经验,加上目前的调整,解决当下的问题。实现思想这里我么能使用 Inception-v3 模型来做迁移学习的基础模型。也就是说,inception-v3 在ImageNet 数据集上训练完成之后,在数据集 ImageNet 上表现良好,但是我们想要解决自己的图像分类问题,直接使用
2021-06-20 17:31:16 785
原创 经典网络-LeNet-5
在下面的篇幅中将详细介绍LeNet-5 模型每一层的结构。③第一层,卷积层这一层的输入就是原始的图像像素,LeNet-5 模型接受的输入层大小为32×32×1。第一个卷积层过滤器的尺寸为5×5,深度为6,不使用全0 填充,步长为1。因为没有使用全0填充,所以这一层的输出的尺寸为32−5+1=28,深度为6。这一个卷积层总共有5×5×1×6+6=156 个参数,其中6 个为偏置项参数。因为下一层的节点矩阵有28×28×6=4704个节点, 每个节点和5×5=25 个当前层节点相连, 所以本层卷积.
2021-06-20 16:43:12 596 1
原创 归一化层(Batch Normalization)详解
https://www.biaodianfu.com/cnn.html声明本博客是个人学习时的一些笔记摘录和感想,不保证是为原创,内容汇集了网上相关资料和书记内容,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。...
2021-06-20 15:46:48 6662
原创 小白都能看懂的卷积神经网络分析
和全连接神经网络一样,卷积神经网络中的每一个节点都是一个神经元。在全连接神经网络中,每相邻两层之间的节点都有边相连,于是一般会将每一层全连接层中的节点组织成一列,这样方便显示连接结构。而对于卷积神经网络,相邻两层之间只有部分节点相连,为了展示每一层神经元的维度,一般会将每一层卷积层的节点组织成一个三维矩阵。除了结构相似,卷积神经网络的输入输出以及训练流程与全连接神经网络也基本一致。以图像分类为例,卷积神经网络的输入层就是图像的原始像素,而输出层中的每一个节点代表了不同类别的可信度。这和全连接神经网络.
2021-06-20 15:41:44 1889
原创 过拟合问题
真实的应用中想要的并不是让模型尽量模拟训练数据的行为,而是希望通过训练出来的模型对未知的数据给出判断。模型在训练数据上的表现并不一定代表了它在未知数据上的表现。过拟合问题就是可以导致这个差距的一个很重要因素。什么是过拟合所谓过拟合,指的是当一个模型过为复杂之后,它可以很好地“记忆”每一个训练数据中随机噪音的部分而忘记了要去“学习”训练数据中通用的趋势。举一个极端的例子,如果一个模型中的参数比训练数据的总数还多,那么只要训练数据不冲突,这个模型完全可以记住所有训练数据的结果从而使得损失函数为0。可以.
2021-06-19 17:50:44 319
原创 神经网络优化算法详解
神经网络的优化算法,主要是两种反向传播算法(back propagation)和梯度下降算法(gradient decent)。这两种方法最终的目的都是调整网络中的参数信息。梯度下降法主要是用于优化单个参数的取值,也就是说,每次对某个参数求偏导,根据求导信息,和学习率每次更新这一个参数的数值。反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据上的损失函数尽可能小。梯度下降算法优化参数取值的过程假设用θ 表示神经网络中的参数,J(θ )表示在给定的参数取值下
2021-06-19 16:53:27 5877
原创 神经网络可视化工具 Netron
使用 Netron 可以直接查看神经网络,这里以 onnx 网络为例。本文介绍,在 ubuntu 下安装,使用浏览器打开 onnx 网络。Netron地址https://github.com/lutzroeder/Netron安装python -m pip install netron打开onnx# create script: test.pyimport netron model_path = "new_resnet50_bw.onnx"netron.start(model_path
2021-06-17 20:04:22 915
原创 Github进行fork后如何与原仓库同步
问题是这样的:当我们 fork 别人的开源项目之后,如果对方发生新的提交,我们如何更新呢?最省事的方法直接删除自己原来 fork 的项目然后重新 fork 一次,缺点这样做,最简单,但是有很多问题,如果你已经在原版本做了很多修改,那就不利于你下次代码合并;使用git merge 的方法进入当前已经 fork 的仓库目录查看远程仓库路径$ git remote -vorigin https://github.com/xx.git (fetch)origin https://
2021-06-17 19:18:48 806
原创 【找工作】公司和职位信息怎么获取,看这篇文章就够了!
怎么高效获取招聘信息专业渠道找公司2020年杭州发布独角兽企业列表市值排行找公司上海证券交易所胡润排行榜找公司国企信息一览表国家级别研究所名录中科院研究所名录年度最佳雇主艾瑞咨询公司官方找招聘信息大学网站获取招聘信息北京大学学生就业指导服务中心西安交通大学学生就业创业信息网招聘网站总结专业的信息首先需要找寻专业的渠道。专业渠道找公司首先第一条,找工作,首先可以从想去什么样的公司入手。当前行业内都有那些企业,这需要整理一个列表;按照是指排行,那些企业你想去;年度最佳雇主单位列表,是否有你想去的公司
2021-06-02 15:57:24 2279
原创 【深入理解计算机系统-笔记-第1章】概要了解计算机系统
为了更深入的计算机系统的工作原理,这次下定决心,要把这些放在书架子上吃灰的“硬核”知识点啃一啃了。本来想着就看纸质书算了,但是有感觉眼睛看一遍到底理解和记忆的程度会很浅,所以干脆找到电子版的,边看边记录,如果能有自己的理解和想法,顺手就记下来。一来加深记忆,二来之后再回顾的时候直接看笔记,内容更少,更方便了。我根据自己的理解,总结形式不一定严格按照书中的格局。本书书名《深入理解计算机系统》本书第1章:计算机系统漫游编译四阶段预处理阶段预处理器( cpp) 根据以字符# 开头的命令, 修改原始
2021-03-31 21:26:41 178
原创 进大厂必备的C/C++技能点全部总结好了
总的来看,大的方便有以下几个编程语言基础数据结构与算法计算机网络操作系统每个方面的核心问题编程语言基础new和malloc的区别以及底层实现原理怎么理解static? static 在C和C++中的区别?怎么理解const? const 在C和C++中的区别?c++虚函数原理智能指针c语言如何实现c++对象以及私有成员c++多态实现STL中的vector怎么扩容虚函数指针的初始化过程c++11原子变量介绍c++11特性有哪些?怎么理解重载与重写怎么理解c++中的s
2021-03-29 10:12:14 901
原创 虚函数原理详解
虚函数虚函数,虚指针和虚表虚函数:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。虚指针和虚表:存在虚函数的类都有一个一维的虚函数表叫做虚表。每一个类的对象都有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。虚函数实现原理编译器在编译的时候,发现Base类中有虚函数,此时编译器会为每个包含虚函数的类创建一个虚表(即vtable),该表是一个一维数组(而不是一个链表),在这个数组中存放每个虚函数的地址。由于Base类和Derive类都包含了一个虚函数fu
2021-03-25 10:22:52 2346
转载 C++ 虚函数表解析
C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关
2021-03-25 10:02:19 140
原创 【视频编解码-08】详说熵编码--哈夫曼编码
信息熵信息论中,Shannon 他老人家发明了信息熵。公式如下,它代表了信源S的熵:单位:Bit/字符那信息熵到底是什么呢?它是信息量的度量单位。不要再去想什么不确定性了,抽象的让人想去抽它,就认为它是信息的多样性吧,它的实际意义有两个:信源S的平均信息量编码所有符号S平均所需要的位数那什么是熵编码?在信息熵的极限范围内进行编码就是熵编码。例如信息熵算出来是3bit/字符,你用4bit/字符来编码,就是熵编码,你用2bit/字符来编码,就不叫熵编码,因为这种情况下,就失真了嘛。从这里也看
2021-03-18 09:40:47 1595
转载 【视频编解码-07】变换,量化与熵编码
第6章 变换编码1. 变换编码变换编码的目的去除空间信号的相关性将空间信号的能力集中到频域的一小部分低频系数上能量小的系数可通过量化去除,而不会严重影响重构图像的质量块变换和全局变换块变换:离散余弦变换(Discrete Cosine Transform,DCT),4x4,8x8,16x16全局变换:小波变换(Wavelet)变换的能量集中特性DCT编码2. 变换类型K-L变换傅里叶变换余弦变换小波变换3. KL变换最优变换基函数根据具体图像而确定
2021-03-16 10:36:50 687
原创 【视频编解码-06】预测编码详解-帧间预测
什么是帧间预测?编码相邻帧的时候,使用已经编码的帧与预测值的差值编码的方式,减少相邻帧图像数据相似的部分。帧间预测主要包括运动估计(运动搜索方法、运动估计准则、亚像素插值和运动矢量估计)和运动补偿。对于H.264,是对16x16的亮度块和8x8的色度块进行帧间预测编码。消除运动图像时间冗余的技术;帧间预测技术的发展?帧间预测技术发展经历了条件更新、3D-DPCM、基于像素的运动补偿技术,最终确定为基于块的运动补偿方案。帧间预测主要详细步骤是什么?运动估计,因为是基于块的预测,那么首先需要找
2021-02-27 17:33:23 1559
原创 【视频编解码-05】预测编码详解-帧内预测
定义预测编码最基本的思想是不直接对信号进行编码,而是用前一信号对当前信号做出预测,对当前信号与预测值的差值进行编码传送。为什么要用差值来编码呢?举个例子,假设图片是4x4,且没个像素点都是255,那么对255进行二进制编码至少需要8位,如果我们假设预测值是255,那么差值就是255-255=0,那么仅仅对0进行编码一位即可,这样就大大减少了码元的个数。什么是帧内预测呢?帧内预测的目的就是使用比完整一帧少很多的数据来表示当前的一帧。为什么可以进行帧内预测呢?一般的,相邻像素的亮度和色度值经常是非
2021-02-27 17:30:14 2702
原创 【视频编解码-04】视频编码技术-概览
目前主流的视频编码技术主要有:预测、变换、量化、熵编码和环路滤波。本文,将概要的介绍这几种编码,将在之后的文章中,单独分别介绍每种编码的详细步骤。预测编码预测编码的核心思想是,不直接对所有信号进行编码,而是用掐你一个信号对当前信号做出预测,对当前信号与预测值的差值进行编码。为什么要用差值来编码呢?举个例子,假设图片是4x4,且没个像素点都是255,那么对255进行二进制编码至少需要8位,如果我们假设预测值是255,那么差值就是255-255=0,那么仅仅对0进行编码一位即可,这样就大大减少了码元的个
2021-02-27 17:22:18 300
原创 【视频编解码-03】视频技术、行业未来的发展方向
研究学习视频行业,要了解这个技术和行业未来的发展方向。从技术方面来看:视频编码、视频处理、视频检索等技术依然是技术视频的核心,并且是在不断进步的,无论是过去的H264、还在发展的H264标准,都是不断进步的,高文教授曾多次说道,视频编码标准按照每十年效率提高一倍的速率发展。从应用方面来看:视频未来的发展方向:分布式视频、超高清视频、立体视频。分布式视频分布式视频编码指的是编码端对视频帧分别进行独立的压缩编码,只进行帧内的处理;解码端利用帧间相关性,将相邻帧当做边信息,进行复杂的帧间处理。相比于传
2021-02-27 16:49:11 748
原创 【视频编解码-02】视频编码的目的、条件和目标
视频编码,是视频处理中的一个核心技术。现代我们所看到的所有视频,包括电视、互联网、手机等等,几乎所有的视频都会被编码、解码。整个视频技术的基本流程是:视频数据的采集、视频数据的编码、视频数据的传输、视频数据的解码、视频数据的处理。当采集到视频数据,将视频传输之前,需要对视频数据进行编码。本文将要整理回答一下三个问题:为什么要进行视频编码?为什么能进行视频编码?视频编码的终极目标是什么?1. 为什么要进行视频编码?简单的一句话,那就是为了减少传输的视频数据量,视频编码的主要目的就是为了压缩
2021-02-27 16:19:25 2670
原创 【视频编解码-01】像素-PPI-比特率-码率……
基本概念像素是指在由一个数字序列表示的图像中的一个最小单位,称为像素。PPIPixels Per Inch也叫像素密度,所表示的是每英寸所拥有的像素数量。因此PPI数值越高,即代表显示屏能够以越高的密度显示图像。当然,显示的密度越高,拟真度就越高。Pixels Per Inch是像素的密度单位,就像PPI值越高,画面的细节就会越丰富。RGB彩色图像格式,每个像素分别由三个数值,也即R/G/B标识。YUV是区别于RGB额另一种图像保存格式,他的数据量一般比RGB数据量小,一般视频传输的数据都
2021-02-27 14:18:41 1344
原创 一个巨坑,多线程中静态变量的错误使用问题
问题背景C语言Windows 音视频开发问题描述在做多客户端视频解码测试(使用Intel GPU解码)的过程中,为了方便编写测试demo,使用了读取h264源文件的方法,其中有一个获取一帧数据的接口get_frame(FILE *fp,unsigned char ** pbuf),;在测试过程中打开一路视频,一切正常,打开16路就开始花屏,一开始,我以为是GPU的解码能力受限,分别测试14路,12路……2路,居然都是花屏,这让我头大啊。明显的GPU资源的占用情况,还很良好,远远没有爆;分
2021-02-02 19:42:54 1416
原创 【Direct3D】纹理过滤
与人不求备,检身若不及。 ——《尚书·伊训》。与人:对于别人。备:完备,十全十美。检身:检在自己。不及:不够。这两句大意是:对于别人不求全责备.检查自己总觉得像是有某些不足。这两句是说对待别人.不应过于苛求.要看到人家的长处,优点;而对待自己要严格.要经常认识自己的不足,这样才指保持谦虚、谨慎.既能学到别人的长处,又能克服自身的缺点。然而在现实生活中,人们往往过分地苛求别人,过高地估计自己。因此,熟记这个名句,常常对照检查自己,是会受益非浅的。可供论述严以律己、宽以待人时引用。纹理过滤什么是纹.
2020-12-02 16:09:50 1000
原创 【Direct3D-11】光照和材质
惟日孜孜,无敢逸豫。——《尚书·君陈》。惟:句首语气词,无义。日:每日,天天。孜孜(zī资):刻苦努力,不懈怠。逸豫:安适,逸乐。这两句大意是:每天勤勤恳恳,不敢安闲逸乐。这两句可供引用形容或描写有些人对工作和学习非常刻苦,经常孜孜不倦,辛勤努力。四大光照类型环境光(Ambient Light)一个物体没有光源照射,但是存在各种光线,通过折射反射到达这个物体,该物体内看见,基于真个自然界环境的整体亮度,成为环境光。SetRenderState(D3DRS_AMBIENT, D3DCOL.
2020-12-02 15:58:29 183
原创 【Direct3D-10】Direct3D程序体系结构
好问则裕,自用则小。 ——《尚书·仲虺之诰》。好(hào号)问:多问。裕(yù玉):足,丰富。自用:自以为是。这两句大意是:遇事多问的人就会不断丰富自己的知识,自以为是、刚愎自用的人会使自己知识贫乏。商汤与夏桀战于鸣条之野,夏师败绩。汤放桀于南巢后,自夏返回大垌,对自己是否因德高而得天命这一点还不自信。于是,大臣仲虺作诗劝慰说,只要为王的能做到“慎厥终,惟其始,殖有礼,覆昏暴”,广听博问,不刚愎自用,就可以“钦崇天道,永保天命”。可见此条本义在于劝勉商汤政治上要不耻下问、兼听天下,原是政治家的格言.
2020-12-02 11:22:27 172
原创 【Direct3D-9】D3D两套渲染体系
责人斯无难,惟受责俾如流,有惟艰哉。–《尚书·秦誓》指责别人的错误并不困难,困难的是自己能够像流水一样从容的接受别人的指责。D3D中渲染方式有两种:固定功能的渲染流水线(Fixed function render pipeline)可编程渲染流水线(programmable render pipeline)1.固定功能的渲染流水线(Fixed function render pipeline)基本步骤:填充顶点数据制定纹理坐标设置材质设置光照设置变换矩阵设置渲染状态绘制图.
2020-12-02 11:15:55 816
原创 【Direct3D -8 】交换连、顶点缓存、索引缓存
在渲染视频过程中,经常会遇见,画面闪烁的情况,这种情况于屏幕的刷新率存在直接关系。因为刷新很快,但是讲视频数据拷贝缓冲区需要实践,当整个画面的数据还没有拷贝完成的时候,就开始刷新,将会产生这种闪烁现场。为了解决这个问题,引入了缓冲显示技术,道理很简单,就是将准备数据和刷新数据异步操作。显示我们成为前台,准备数据成为后台。首先将数据拷贝至后台缓冲区,然后直接将后台变为前台刷新,前台又变为后台接受另外的数据拷贝。如果双缓冲还效果还不好的话, 可以考虑三个缓冲。...
2020-12-02 11:01:58 250
RPM包管理-yum在线管理-yum命令CentOS中的IP 配置,网络yum 源讲解
2015-10-09
rpm包管理—安装升级与卸载光盘yum源的搭建过程
2015-10-08
ffmpeginstaller.9.0.tar.gz
2019-09-05
NMS通用算法_论文《Efficient Non-Maximum Suppression》(中文)
2018-04-09
windows安装jupyter
2018-04-08
boa服务器移植教程
2018-04-08
【论文】多任务级联卷积网络的面部检测与对齐(中文版)
2018-04-08
Shell编程-字符截取命令-cut printf awk sed 命令
2015-10-26
shell基础 之 数值运算与运算符 环境变量配置文件 shell登录信息
2015-10-23
gcc内嵌汇编, 如何将unsigned char 类型数据转为float 类型?
2018-10-16
使用caffe2 ,可以同时载入多个模型吗?
2018-05-22
C代码调用python模块时,模块导入问题
2018-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人