Cristina的博客

人生苦短,我用cuda
私信 关注
袁博特
码龄72天
  • 3,533
    被访问量
  • 35
    原创文章
  • 255,258
    作者排名
  • 1
    粉丝数量
  • 于 2020-12-26 加入CSDN
获得成就
  • 获得5次点赞
  • 内容获得17次评论
  • 获得16次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #机器学习#深度学习#算法#PyTorch#神经网络
TA的专栏
  • gazebo
    1篇
  • 深度学习
    3篇
  • 小技巧
    6篇
  • 笔记
    5篇
  • python
    5篇
  • C++
    24篇
  • ubuntu
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

gazebo打开特别缓慢、界面黑屏,解决办法

打开一个新的终端输入,即可killall gzserver killall gzclient
原创
3阅读
0评论
0点赞
发布博客于 21 小时前

ubuntu16.04下虚拟环境安装指定版本的pytorch

虚拟环境安装指定版本的pytorch安装bash + 制定版本的Anconda.sh创建虚拟环境,qq指的是你的虚拟环境名称(随意)conda create -n qq python=3.6.1进入虚拟环境qqsource activate qq安装指定版本pytorch,我这里安装的是1.6版本conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1注意,此时仅仅是在终端的torch版本改变成
原创
7阅读
0评论
0点赞
发布博客于 8 天前

推荐一些国内外文献检索与免费下载的网站

学会尊重他人的劳动成果-转载来源https://blog.csdn.net/weixin_43795921/article/details/100169662?utm_source=app 点击即可打开链接: 1.SCI-Hub 2.CiteSeerX 3.arXiv.org
转载
24阅读
0评论
0点赞
发布博客于 15 天前

机器学习实战《Machine Learing in Action》——第三章python知识点

featList = [example[i] for example in dataSet]此句话应该拆成两块进行理解第一句话:for example in dataSet从dataset中逐行提取第二句话:featList = [example[i]]数组的第i个元素dataset = [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'],
原创
10阅读
0评论
0点赞
发布博客于 2 月前

python3.x版本 机器学习实战《Machine Learing in Action》——第三章python中绘制决策树代码

python3.x版本下,在用example_dict.keys()或者example_dict.values()取出字典中对应的键值时,取出的值总是会带有前缀。python2.x版本的不存在这个问题,可以直接使用书中的代码以下是python3.x版本代码:def plotTree(myTree, parentPt, nodeTxt):#if the first key tells you what feat was split on numLeafs = getNumLeafs(myTree
原创
11阅读
0评论
0点赞
发布博客于 2 月前

python3.x版本 机器学习实战《Machine Learing in Action》——第三章python中叶子数和树的深度代码

python3.x版本下,在用example_dict.keys()或者example_dict.values()取出字典中对应的键值时,取出的值总是会带有前缀。python2.x版本的不存在这个问题,可以直接使用书中的代码以下是python3.x版本代码:def getNumLeafs(myTree): # python3 版本 返回叶子数 numLeafs = 0 secondDict = list(myTree.values()) for key in range(len
原创
21阅读
5评论
0点赞
发布博客于 2 月前

机器学习实战《Machine Learing in Action》——第二章python知识点

sort和sorted和argsort参考文章sorted()是不会改变原序列的排列而sort()会改变原序列的排列argsortimport numpy as npx=np.array([1,4,3,-1,6,9])y=x.argsort() #升序排列print(y)结果:[3 0 2 1 4 5]将x中的元素从小到大排列,提取其对应的index(索引),然后输出到ysorted参考文章import operatora = [1, 2, 3]# itemgett
原创
9阅读
0评论
0点赞
发布博客于 2 月前

jupyter notebook 压缩/解压文件夹

转载请注明出处!!!压缩压缩成zip格式# 压缩当前路径所有文件,输出zip文件path='./'import zipfile,oszipName = 'student_id.zip' #压缩后文件的位置及名称f = zipfile.ZipFile( zipName, 'w', zipfile.ZIP_DEFLATED )for dirpath, dirnames, filenames in os.walk(path): for filename in filenames:
原创
167阅读
0评论
0点赞
发布博客于 2 月前

ubuntu下typora安装

本文使用tar.gz安装typora安装官网下载tar -zxvf Typora-linux-x64.tar.gzcd binsudo cp -ar Typora-linux-x64 /opt添加快捷方式sudo gedit typora.desktop复制以下代码块[Desktop Entry]Name=TyporaExec=/opt/Typora-linux-x64/TyporaType=ApplicationIcon=/opt/Typora-linux-x64/res
原创
46阅读
0评论
0点赞
发布博客于 2 月前

pytorch安装

pip3 install torch===1.5.0 torchvision===0.6.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simpleimport torch 报错报错ImportError: numpy.core.multiarray failed to importpip uninstall numpypip install numpy...
原创
63阅读
0评论
0点赞
发布博客于 8 天前

注意python中import和from import 的区别

注意python中import和from import 的区别 首先明确:尽量不要为了图省事使用from xxx import * python中有两种导入模块的方式,一种是import xxx,另一种是from xxx import yyy,两者的区别在于,第一种仅仅导入一个模...
转载
26阅读
3评论
0点赞
发布博客于 2 月前

C++11中的override关键字

C++11中的override关键字override可以显式的在派生类中声明,哪些成员函数需要被重写,如果没被重写,则编译器会报错。即:防止漏写如果基类中无此函数,或基类中的函数并不是虚函数,编译器会给出相关错误信息。即:防止写错参考文章...
原创
26阅读
2评论
0点赞
发布博客于 2 月前

函数指针与回调函数

推荐先看回调函数回调函数如果函数指针的知识点忘了就看这个函数指针
转载
13阅读
0评论
0点赞
发布博客于 2 月前

cmake generator 以及 qt中ros环境的配置

ninjaNinja 是Google的一名程序员推出的注重速度的构建工具一般在Unix/Linux上的程序通过make/makefile来构建编译Ninja通过将编译任务并行组织,大大提高了构建速度Ninja的目标是成为汇编程序。CodeblocksCodeBlocks是一个跨平台的开源IDE,可以用来编写多种程序Codelock是一款用于c和c++的集成开发环境,其体积小功能强大qt中ros环境的配置tools->Options->Bulid&Run->
原创
38阅读
3评论
0点赞
发布博客于 2 月前

C++ %a.bf的理解

废话少说直接上代码a表示数字宽度注意a表示的宽度是包含小数点的,即:1.22的宽度是4a<=有效位数时 float a=12.333; printf("%1.2f",a);//12.33按照实际数字进行打印 ,12.33a>有效位数时 float a=12.333; printf("%7.2f",a);// 12.33如图,数字前面补上空位,即数字宽度是7b表示小数点后位数b<小数点后位数时&&a<有效位数
原创
25阅读
0评论
0点赞
发布博客于 2 月前

nvidia-smi报错NVIDIA-SMI couldn‘t find libnvidia-ml.so library in your system

执行命令ls /usr/lib/nvidia后发现pre-install卸载可以把nvidia驱动和cuda全部卸载sudo apt-get --purge remove nvidia-*sudo apt-get --purge remove cuda-*当然上面的卸载不是全面的还需要sudo /usr/bin/nvidia-uninstall这样驱动全部卸载完毕安装可以安装自己的nvidia驱动和cuda了安装nvidia驱动sudo service lightdm stop
原创
104阅读
0评论
0点赞
发布博客于 2 月前

父类子类指针相互转换问题

当父类子类有同名非虚函数的时候,调用的是转换后的指针类型的函数;当父类子类有同名虚函数的时候呢,调用的是指针转换前指向的对象类型的函数。#include <iostream>using namespace std;class Base {public: virtual void f() { cout << "Base::f" << endl; } virtual void g() { cout << "Base::g" &..
转载
27阅读
0评论
0点赞
发布博客于 2 月前

C++ **(指针的指针)和*&(指针的引用)——个人理解

一、解释*和&&在变量定义区,表示引用 int &x ;&在变量操作区,表示取地址符 int x=10, *p=&x ;*在变量定义区,表示指针 int *x ;*在变量操作区,表示解引用 int *x ;cout<<*x ;二、解释**和*&**是指 指针的指针*&是指 指针的引用注意:只有对指针的引用,没有指向引用的指针!(因为引用本身不是对象)三、代码解释传单指针、传双指针、传指针的引用具体使用起来原理是相同
原创
82阅读
2评论
0点赞
发布博客于 2 月前

用C/C++读取文件txt中文内容乱码问题

博客原文——用C/C++读取文件txt中文内容乱码问题 背景:读取文件txt中的中文内容在终端doc输出时乱码   puliuren也是很懵逼啊,在敲完后运行才发现出现乱码,搞得我重现编了两三遍,终于发现不是代码问题。 这时的我敲高(beng)兴(kui)的,因为知道不是代码问题,,,, 后来百度了一下,发现是编码问题,也就是txt文件不能用utf8编码 而后我又用所有的编码试了一遍,发现只有A
转载
325阅读
0评论
0点赞
发布博客于 2 月前

关于ANSI,unicode与utf-8的区别

博客地址——关于ANSI,unicode与utf-8的区别 关于ANSI,unicode与utf-8的区别 为使计算机支持更多语言,通常使用 0x80~0xFFFF 范围的 2 个 字节来表示 1 个字符。比如:汉字 '中' 在 ANSI编码 中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。 不同的国家和地区制定了不同的标准,由此产生
转载
25阅读
0评论
0点赞
发布博客于 2 月前

protobuf入门address_book实例——个人实战感想记录

protoc编译proto文件protoc是proto文件的编译器,目前可以将proto文件编译成C++、Java、Python三种代码文件,编译格式如下:protoc -I=$SRC_DIR --cpp_out=$DST_DIR /path/to/file.proto上面的命令会生成addressbook.pb.h 和 addressbook.pb.cc两个C++文件。推荐在src文件夹内编译protoc --cpp_out=. addressbook.proto实例添加链接描述添加链
原创
27阅读
0评论
0点赞
发布博客于 2 月前

python版本切换

https://zhuanlan.zhihu.com/p/70012392
转载
9阅读
0评论
0点赞
发布博客于 3 月前

C++文件流(文本文件、二进制文件)demo

文本文件#include<iostream>#include<string>#include<fstream>using namespace std;void test02(){ ofstream ofs; ofs.open("test.txt", ios::out); ofs << "姓名:张三" << endl; ofs << "年龄:18" << endl; ofs.close();}
原创
53阅读
0评论
0点赞
发布博客于 3 月前

C++return 0;与return;的区别及作用

return语句有两种形式:1.不带返回值的return语句 return;return;的作用相当于break;用于中断循环的作用2.带返回值的return语句,或者返回一个变量或一个函数return 0;return带返回值,不能应用于voidmain函数中return 0;表示成功,绝大多数其他值都表示失败...
原创
83阅读
0评论
0点赞
发布博客于 3 月前

C++函数调用运算符重载

C++函数调用运算符重载我还不是很清楚它的具体价值,以后再更新。。。函数调用运算符重载用在STL中十分灵活也称为仿函数#include<iostream>#include<string>using namespace std;class MyPrint{public: void operator()(string text) { cout << text << endl; }};void test01(){ //
原创
27阅读
0评论
0点赞
发布博客于 3 月前

C++关系运算符重载

C++关系运算符重载为什么重载关系运算符?因为要直接对比类中的对象。重载关系运算符应该在哪里?由于是对比类中的对象,而每个类应该是不一样的,所以重载关系运算符定义应该在类中。如何定义关系运算符众所周知,关系运算符就是true flase两种,所以,返回值类型应该是bool类型。#include<iostream>#include<string>using namespace std;class Person{public: Person(s
原创
81阅读
0评论
0点赞
发布博客于 3 月前

C++赋值运算符重载

C++赋值运算符重载赋值运算符重载和拷贝构造函数的作用类似,都是将类对象进行复制。需要注意的点也是一样,就是堆区重复释放问题这个问题的诱因就是,编译器默认的拷贝是浅拷贝,而浅拷贝会出现重复释放内存的现象。具体可以参考 C++深拷贝与浅拷贝赋值运算符重载(浅拷贝)编译器提供的代码是浅拷贝。此时不能自己定义析构函数,否则会带来堆区重复释放的问题。#include <iostream>using namespace std;#include <string>cla
原创
27阅读
0评论
1点赞
发布博客于 3 月前

Ubuntu16.04下NVIDIA显卡驱动安装(华硕飞行堡垒7代,1660ti)

Ubuntu下NVIDIA显卡驱动安装我的电脑配置,华硕飞行堡垒7代,1660ti亲测有效,我的系统重装5次!1.首先进行安装,可以参考一下链接安装2.安装完毕后可能会出现这样的情况按住Ctrl+Alt+F1,进入命令行,输入一下代码即可cd /etc/X11sudo cp xorg.conf.failsafe xorg.confsudo reboot...
原创
131阅读
0评论
0点赞
发布博客于 3 月前

++重载、--重载实例

#include<iostream>using namespace std;class MyClass{ friend ostream& operator<<(ostream&cout, MyClass a);public: MyClass(); //前置++ //返回引用是为了一直对一个数据进行递增操作 MyClass& operator++() { num++; return *this; } //后置++ //in
原创
28阅读
0评论
0点赞
发布博客于 3 月前

C++左移运算符重载

C++左移运算符重载通过重载使得左移运算符可以输出自定义数据类型。在类中定义成员函数实现不了
原创
84阅读
0评论
1点赞
发布博客于 3 月前

C++计算圆柱体的算法

#include<iostream>using namespace std;#define PI 3.14class CCylinder{public : CCylinder() { m_iRadius=0; m_iHeight=0; } CCylinder(int iRadius,int iHeight) { m_iRadius=iRadius; m_iHeight=iHeight; } int getArea() { return PI*m_iR
原创
182阅读
0评论
0点赞
发布博客于 3 月前

VS2017 C++ 代码片段 多行注释与取消注释

学会尊重他人的劳动成果-转载来源——https://blog.csdn.net/zaishuiyifangxym/article/details/82931859 1、VS2017 代码片段 多行注释 (1)选中要 注释的代码段; (2)按 Ctrl + K 键; (3)再按 Ctrl +C 键。   2、VS2017 代码片段 取消注释 (1)选中要 取消注释的代码段
转载
170阅读
0评论
0点赞
发布博客于 3 月前

C++析构函数只声明而不定义的问题

C++析构函数只声明而不定义的问题现附上一个简单的小例子(计算圆柱体体积)#include<iostream>using namespace std;//计算圆柱体体积class cylinder//圆柱体{ public: double r; double h; double volume; cylinder(); ~cylinder(); double * calculate(cylinder *); double getindex();};
原创
191阅读
2评论
0点赞
发布博客于 3 月前

Ubuntu环境下安装配置QT5环境

这一步我建议全选,其余同转载即可学会尊重他人的劳动成果-转载来源——https://blog.csdn.net/wangguang_/article/details/90676803 1.在官网下载相关文件 下载链接:http://download.qt.io/archive/qt/ 链接:https://pan.baidu.com/s/1GFO78QJu1sve_tsyQif0Og 提取码:132i 打
转载
69阅读
0评论
0点赞
发布博客于 3 月前

Ubuntu16.04安装搜狗输入法

学会尊重他人的劳动成果-转载来源——https://blog.csdn.net/u013894834/article/details/60357071 特别鸣谢:本人菜鸟一枚,此博客只是作为记录学习,文章中如有一些纰漏瑕疵,非常希望各位大神指点,自己也会努力查缺补漏,谢谢! 好!之前两篇文章之后,应该您的电脑已经成功安装了ubuntu系统,今天在这里和大家分享搜狗输入的软件安装,今后自己准备会开一个专门的文章分类
转载
39阅读
0评论
0点赞
发布博客于 3 月前

Ubuntu16.04系统更新 / 清除内核

Ubuntu16.04系统更新 / 清除内核更新内核首先明确一点,没有特殊需要千万不要手欠更新系统内核!!!但是,小伙伴总会好奇试一试,下面我给大家解答一下更新内核失败后,如何补救可能遇到的一种错误就是vmlinuz has invalid signature重启电脑后,进入BIOS,选择security,关闭secure boot再次进入系统,选择Ubuntu中的第二个选项——Ubuntu高级选项选择除了第二个内核//因为第一个内核进不去系统,所以选择其他的内核enter进入
原创
74阅读
0评论
1点赞
发布博客于 3 月前

如何转载别人优秀的博客----一定要标注原创出处

学会尊重他人的劳动成果-转载来源https://blog.csdn.net/qq_33249725/article/details/89478773 如何转载别人的博客 概述 我们有时候没有时间去写原创博客,但是又看到了一篇很不错的文章想收纳到自己的博客中怎么办呢?我们可以将别人
转载
85阅读
0评论
0点赞
发布博客于 3 月前

C++友元

C++友元友元是针对能否访问类中private项这个问题的一个产物友元的三种实现:全局函数做友元类做友元成员函数做友元1.全局函数做友元类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。注意点:友元声明时不用特意放在public里,随意放就可以。class Box{ friend void printWidth( Box box );//友元声明放在这里也是可以的 double width;public: v
原创
25阅读
0评论
0点赞
发布博客于 3 月前

C++const修饰成员函数(常函数、常对象相关注意点)

C++const修饰成员函数常函数成员函数后加const后我们称为这个函数为常函数const修饰成员函数涉及到this指针的概念。1.1.this指针假如定义了一个person类,在调用类中变量时,m_B = 100;就会用到this指针,this->m_B = 100;this指针的本质是person * const this即this为指针常量,那么this的指向就不可以改变!this = NULL;//这句话就是错的class Person {public:
原创
25阅读
0评论
0点赞
发布博客于 3 月前

C++深拷贝与浅拷贝

C++深拷贝与浅拷贝浅拷贝简单的赋值拷贝操作深拷贝在堆区重新申请空间,进行拷贝操作如果不利用深拷贝在堆区创建新内存,会导致浅拷贝带来的重复释放堆区问题,两次释放堆区内同一块内存,从而导致系统报错//1浅拷贝 //有参构造函数 Person(int age ,int height) { cout << "有参构造函数!" << endl; m_age = age; m_height = new int(height); } //拷贝构造函数 P
原创
22阅读
0评论
0点赞
发布博客于 3 月前

C++构造函数、析构函数、复制(拷贝)构造函数的注意点

C++构造函数、析构函数、复制(拷贝)构造函数的注意点默认提供的问题C++默认提供:默认构造函数、析构函数、复制构造函数如果用户定义有参构造函数,C++不再提供默认构造函数,但会提供复制构造函数如果用户定义复制构造函数,C++不再提供其他构造函数构造函数构造函数没有返回值,不写void拷贝构造函数调用时机1.初始化对象时2.值传递的方式给函数传参时3.以值方式返回局部对象复制构造函数复制构造函数一般有const即:cperson::cperson(const cpe
原创
21阅读
0评论
0点赞
发布博客于 3 月前

C++中基类(父类)和派生类(子类)数据成员变量重复定义的情况

C++中基类(父类)和派生类(子类)数据成员变量重复定义的情况本片帮助自己梳理这些情况,以供日后查看,朋友们仅供参考。protected派生类中定义重名数据成员定义的数据成员赋值就会给派生类,未定义的数据成员赋值就会给基类#include <iostream>using namespace std;// 定义了一个父类class Parent{protected: int i; int j;};//继承class Child : public Parent{
原创
69阅读
0评论
0点赞
发布博客于 3 月前

黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难——讲义

基础课部分讲义核心课部分讲义提高课部分讲义黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难——视频链接
原创
309阅读
0评论
2点赞
发布博客于 3 月前

Ubuntu系统中如何截图和修改截图快捷键

Ubuntu系统中如何截图全屏幕截图键盘上有printscreen的按键(即Prt Sc Sys Rq 这个按键),此按键可以对整个屏幕进行截图。当前窗口截图按住“alt+printscreen"键,对当前活动窗口截图。任意区域截图按住“ctrl+alt+printscreen"键,对任意区域截图。如需修改截图快捷键请往下看第一步屏幕的右上角,选择system settings打开后,点击Keyboard进入Keyboard界面,点击Shortcuts进入Shortcu
原创
57阅读
0评论
0点赞
发布博客于 3 月前

qt 中c++终端如何实现清屏操作

qt 中c++终端如何实现清屏操作 system ("clear");//清屏
原创
211阅读
0评论
0点赞
发布博客于 3 月前

list链表通过merge()实现合并链表升降序时的注意事项

生成结果的升降序应该是这样的:一、若原链表升序,则merge(l2)或merge(l2,less()),后合并的链表升序#include <iostream>#include <list>using namespace std;//升序int main(){ list<int> l1; list<int> l2={2,7}; list<int>::iterator iter; l1.push_bac
原创
72阅读
0评论
0点赞
发布博客于 8 月前

泛型编程,请问这个小案例为何报错no matching function for call to "find"

``` #include <iostream> #include<vector> using namespace std; template <typename elemtype> elemtype* find(const elemtype *first, const elemtype *last, const elemtype &value); template <typename element> inline element* begin(const vector<element> &vec); template <typename element> inline element* end(const vector<element> &vec); int main() { vector <int> svec{1,2,3}; **** int* it = find(begin(svec),end(svec),svec);**** return 0; } template <typename elemtype> elemtype* find(const elemtype *first, const elemtype *last, const elemtype &value) { if(!first||!last) return 0; for(;first!=last;++first) if(*first==value) return first; return 0; } template <typename element> inline element* begin(const vector<element> &vec) { return vec.empty() ? 0 : &vec[0]; } template <typename element> inline element* end(const vector<element> &vec) { return vec.empty() ? 0 : &vec[vec.size ()]; } ```
1回答
发布问题于 8 月前

请问为什么输出会报错,(应该是迭代器交换出了问题),请解释一下为什么不可以这样呢?

#include <iostream> #include<vector> using namespace std; int main() { vector<int> array{3, 5, 2, 6, 4}; vector<int> outArray{ 1,2,3 }; vector<int> ::iterator it=array.begin(); vector<int> ::iterator it1=array.end(); iter_swap(it,it1); outArray.assign(it1,it);//清空原数据,赋予新数据={3,5,2,6,4} cout<<outArray[0]; } 输出报错 terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
1回答
发布问题于 8 月前

请问,编译这个小程序时应该怎么输入什么呢?

#include <iostream> #include<vector>** using namespace std; int main() { vector<int> ivec; int ival; while ( cin >> ival ) ivec.push_back( ival ); // we could have calculated the sum as we entered the // values, but the idea is to iterate over the vector ... int sum = 0; for ( int ix = 0; ix < ivec.size(); ++ix ) sum += ivec[ ix ]; int average = sum / ivec.size(); cout << "Sum of " << ivec.size() << " elements: " << sum << ". Average: " << average << endl; }
1回答
发布问题于 8 月前

qt中菜单栏设置的一个小疑问

请问最后一行中显示,unused variable 'pFile',是为什么呢?怎么解决? #include "mainwindow.h" #include<QMenuBar> #include<QMenu> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //菜单栏 QMenuBar *mBar = menuBar (); //添加菜单 QMenu *pFile = mBar->addMenu("文件"); }
1回答
发布问题于 8 月前