C++学习(涉及到Caffe使用)
###2018年6月5日
- C++中shared_ptr的使用方法
shared_ptr是一种智能指针(smart pointer),作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也就是一旦某个对象的引用计数变为0,这个对象会被自动删除。这在非环形数据结构中防止资源泄露很有帮助。使得指针可以共享对象,并且不用考虑内存泄漏问题。
**内存泄漏(Memory Leak)**是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
- C++ 中vector的使用方法
vector::clear()函数的作用是清空容器中的内容,但如果是指针对象的话,并不能清空其内容,必须要像以下方法一样才能达到清空指针对象的内容
// Vector作为函数的参数或者返回值时,需要注意它的写法:
double Distance(vector<int>&a, vector<int>&b) // 其中的“&”绝对不能少!!!// 简单的使用方法如下:
vector<int>test; // 建立一个vector
test.push_back(1);
test.push_back(2); // 把1和2压入vector,这样test[0]就是1,test[1]就是2// 获取指针要调用.get()方法
shared_ptr<Blob<Dtype> > dn_; // the probabilities of sending samples to left subtrees
sigmoid_top_vec_.push_back(dn_.get());
- C++中的c_str()函数用法
c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针。
- Caffe源码(一):math_functions 分析
int caffe_rng_rand() 函数:返回一个随机数
函数 void *memcpy(void *dest, void *src, unsigned int count) :把src所指向的内存区域 copy到dest所指向的内存区域, count为块的大小
- C++使用e的指数函数
#include <stdio.h>
#include <math.h>int main()
{double param, result;param = 5.0;result = exp(param);printf("The exponential value of %f is %f.\n", param, result);return 0;
}
- C++中static_cast强制类型转换
用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性
###2018年6月8日
- C++ memcpy()函数用法
# 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内
void *memcpy(void*dest, const void *src, size_t n);
###2018年6月10日
- vs2015多行注释与取消多行注释
vs2015多行注释与取消多行注释 :
注释: 先CTRL+K,然后CTRL+C
取消注释: 先CTRL+K,然后CTRL+U
- C++产生随机数
产生一定范围随机数的通用表示公式是:
取得(0,x)的随机整数:rand()%x;
取得(a,b)的随机整数:rand()%(b-a);
取得[a,b)的随机整数:rand()%(b-a)+a;
取得[a,b]的随机整数:rand()%(b-a+1)+a;
取得(a,b]的随机整数:rand()%(b-a)+a+1;
取得0-1之间的浮点数:rand()/double(RAND_MAX)。
#include<iostream>
#include<cstdlib>
#include<ctime>
#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;
int main()
{srand((unsigned)time(NULL));for(int i=0;i<10;i++)cout<<random(1,100)<<' ';return 0;
}
- C++ Vector 用法详细介绍
###2018年6月12日
- caffe的python接口使用方法示例
import sys
#添加caffe下的python文件夹的路径
sys.path.append("../caffe-master/python")
import caffe
import numpy as np
import os #使用caffemodel进行训练
weights = 'googlenet_bn_stepsize_6400_iter_1200000.caffemodel'
caffe.set_device(0) #选择0号GPU
caffe.set_mode_gpu() #使用GPU模式
solver = caffe.SGDSolver('solver.prototxt') #加载solver文件
solver.net.copy_from(weights) #加载caffemodel
solver.solve() #开始运行 #使用solverstate继续之前的训练
s = "googlenet_bn_stepsize_6400_iter_1200000.solverstate"
caffe.set_device(0) #选择0号GPU
caffe.set_mode_gpu() #使用GPU模式
solver = caffe.SGDSolver('solver.prototxt')#加载solver文件
solver.restore(s) #加载solverstate
solver.solve() #开始运行
- caffe如何自定义网络以及自定义层(python)(五)
- Caffe学习系列(7):solver及其配置
C++学习(涉及到Caffe使用)相关推荐
- DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略
DL框架之Caffe:深度学习框架之Caffe的简介.安装.使用方法详细攻略 目录 Caffe的简介 Caffe的安装 Caffe的使用方法 1.基本函数 Caffe的简介 全称Convoluti ...
- 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练
阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...
- 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练...
阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...
- 【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目
这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpeng2008/yousa ...
- 一文带你了解 三种深度学习框架(Caffe,Tensorflow,Pytorch)的基本内容、优缺点以及三者的对比
觉得有帮助请动动小手点赞关注收藏~~~ 一.Caffe Caffe简介 Caffe是一个清晰的,可读性高的,快速的深度学习框架,主要应用在视频,图像处理方面,但是不够灵活,并且对递归网络和语言建模的支 ...
- caffe 学习笔记之caffe.proto注释
caffe.proto文件位置为 ./src/proto/caffe.proto caffe.proto注释转自caffe.proto注释上下并加以修改 syntax = "proto2&q ...
- 【深度学习】【caffe】【python】【docker】微信 二维码检测,手写数字识别
文章目录 介绍 docker环境 MNIST 数据(废弃) 微信二维码 微信二维码 python代码试试 用于造yolov5的目标检测数据 了解caffe,使用caffe,做个小例子熟悉caffe. ...
- 【深度学习】基于caffe的表情识别(二):数据集介绍及处理
<基于caffe的表情识别>系列文章索引:http://blog.csdn.net/pangyunsheng/article/details/79434263 一.数据集介绍 在本实验中我 ...
- 【深度学习】【caffe实用工具6】笔记28 windows下SSD网络中的convert_annoset工具的使用
/*************************************************************************************************** ...
最新文章
- 【c语言】蓝桥杯算法训练 完数
- 10分钟学会React Context API
- Android中的线性布局
- 全球及中国黑胡椒粉行业竞争规划与未来发展趋势预测报告2022-2028年版
- 序列化picklejson模块
- Github Actions 中 Service Container 的使用
- gl3520 gl3510_带有gl gl本机的跨平台地理空间可视化
- linux中断处理体系结构分析(一),Linux中断处理体系结构分析(二)
- 大白菜pe解锁bitlocker_微PE工具箱 v2.1 官方版,最好用的 Win10PE 系统
- chrome 发送请求出现:Provisional headers are shown 提示
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十一)
- 无线通信中各种常用技术及特点
- 基于TMC4361-超静音闭环步进电机驱动方案
- 引导滤波器联合上采样代码
- 外汇天眼:标普9月制造业PMI改善至51.8,综合PMI升至49.3
- 达索系统推出汽车项目智能看板行业解决方案体验
- 抽奖随机滚动_原来抽奖不是凭运气!两个技巧,让你在抽奖环节独占鳌头
- Uncertainty Quantification of Sparse Travel Demand Prediction with Spatial-Temporal Graph Neural Net
- 写需求规格说明书/产品定义的个人总结
- C/C++中的atan和atan2函数
热门文章
- 航海王燃烧意志游戏攻略
- 鼠标指针变成一条竖着的虚线,WIN7,AMD显卡,应急处理方法
- 算法与数据结构 - 二分查找详解,会了吗?
- 虚拟鼓音源拓展包-Toontrack Duality I EZX
- 使用HTML5 canvas和光线投影算法创建伪3D 游戏
- 文字拼接图片+富文本操作
- 提取igs产品zpd
- [数字后端]LVT, RVT, HVT 的区别
- 老友记台词学习笔记 SE01EP02(四)
- 192.168.49.1登录_192.168.49.1路由器登录页面打不开【图文】