pytorch+gpu 环境配置
一、安装步骤
Anaconda与Pycharm安装
Cuda安装
Pytorch安装
逻辑关系整理:
Anaconda与Pycharm安装官网下载即可;
cuda安装前需要查看显卡支持的最大版本:win+R打开cmd,输入nvidia-smi;可以知道当前支持的最大cuda版本为11.6
Pytorch安装:简单理解为下载pytorch的时候其实是下载三个python第三方库一个叫torch、一个叫torchvision
二、 详细安装
Anaconda与Pycharm安装:
Anacond下载:https://www.anaconda.com/download/
Cuda安装:https://developer.nvidia.com/cuda-toolkit-archive
安装完成验证:nvcc -V
Pytorch安装:
12345678# 在指定目录下创建名为mmlab的环境并进入conda activateconda create --prefix=D:\envs\mmlab python=3.7conda activate D:\env ...
Typora+PicGo+Gitee配置方法
简单介绍Typora+PicGo+Gitee配置方法
一、Typora笔记工具https://typoraio.cn/
Typora 是一款轻量级 Markdown 编辑器,与其他 Markdown 编辑器不同的是,Typora 没有采用源代码和预览双栏显示的方式,而是采用所见即所得的编辑方式,实现了即时预览的功能,但也可切换至源代码编辑模式;
有道云笔记:容易卡顿,导出markdown文件不方便,可移植性差
VSCode markdown笔记:插入本地图片、表格以及可视化方面不是特别方便
二、PicGo+Gitee实现图片云存储结合Typora,快速记录笔记以及可视化,图片gitee仓库存储,可移植性大大提高
2.1 gitee仓库建立2.2 PicGo安装配置
https://raw.githubusercontent.com/juzihhu/img_bed/main
https://juzihhu.github.io/juzihhu/image_bed@main
juzihhu/image_bed
token:
cpp设计模式总结
1. 单例模式
定义:无论创建多少次对象,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。
核心思想:
单例模式的核心是构造方法的私有化(即在入口处限制了对象的实例化),之后在类的内部实例化对象,并通过静态方法返回实例化对象的引用
实现方式:
懒汉式
饿汉式
(1)饿汉式单例模式:还没有获取实例对象,实例对象就已经产生了
123456789101112131415161718192021222324252627282930313233343536373839#include<iostream>using namespace std;class Singleton {public: // 由于普通成员方法的调用依赖对象,而获取唯一对象的时候并没有产生对象,所以定义成static // static接口获取指向对象的指针 static Singleton* getInstance() { return &instance; }private: // 定义一个唯 ...
虚拟内存
1概念介绍虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换
2物理寻址物理内存:计算机实际的内存空间,物理内存也叫主内存,RAM。CPU只能和RAM进行数据交互,每个执行的程序,必须将数据从磁盘中拷贝到物理内存中才能运行。
程序加载到物理内存中才能运行,有时我们需要加载整个程序,但有时我们只需要加载程序被调用的一部分,这个过程叫做动态加载。
CPU 对内存的寻址最简单的方式就是直接使用物理内存地址,这种方式一般叫做物理寻址。早期的 PC 使用物理寻址。
物理寻址的好处是简单,坏处是不安全,操作系统的地址直接暴露给用户程序,用户程序可以破坏操作系统。
这种解决方案是采用特殊的硬件保护;还有同时运行多个程序比较困难:多个用户程序如果都直接引用物理地址,很容易互相干扰。
3虚拟内存基本思想虚拟内存的基本思想是,每个程序都有自己的地址空间,这个地址空间被划分为多个称为页面(page) 的块。每一页都是连续的地址范围。这 ...
内存溢出与内存泄漏
1. 内存溢出内存溢出 OOM (out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个int,但给它存了long才能存下的数,那就是内存溢出。
导致内存溢出原因可能有:
内存泄漏
超大对象
其他原因如死循环等
2. 内存泄漏内存泄露 memory leak,是指程序在申请内存后,无法释放(或者忘记释放)已申请的内存空间,导致所申请的那块内存无法再访问;一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。最终的结果就是导致OOM。
3. 造成内存泄露常见的三种情况1,指针重新赋值
2,错误的内存释放
3,返回值的不正确处理
3.1 指针重新赋值
如下代码:
12char * p = (char *)malloc(10);char * np = (char *)malloc(10);
其中,指针变量 p 和 np 分别被分配了 10 个字节的内存。
如果程序需要执行如下赋值语句:
1p=np;
这时候,指针变量 p 被 np 指针重新赋值,其结果是 p 以前所 ...
cpp基础
c++基础入门
cpp核心编程
cpp提高编程
1. c++基础入门指针指针的基本概念指针的作用: 可以通过指针间接访问内存
内存编号是从0开始记录的,一般用十六进制数字表示
可以利用指针变量保存地址
指针变量的定义和使用指针变量定义语法: 数据类型 * 变量名;
示例:
123456789101112131415161718192021int main() { //1、指针的定义 int a = 10; //定义整型变量a //指针定义语法: 数据类型 * 变量名 ; int * p; //指针变量赋值 p = &a; //指针指向变量a的地址 cout << &a << endl; //打印数据a的地址 cout << p << endl; //打印指针变量p //2、指针的使用 //通过*操作指针变量指向的内存 cout << "*p = " << *p << endl; ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
轻量级web服务器
轻量级web服务器
第1章 开发环境搭建Linux开发环境搭建
远程服务器准备/虚拟机安装Linux系统
VM tools
桌面会生成一个VMware Tools磁盘,双击打开
将里面的压缩包拖拽到桌面,右键使用归档管理器打开
点击提取到桌面
找到vmware-install.pl文件,右键在终端中打开
ubuntu的配置
Linux安装ssh服务:sudo apt install openssh-server -y
启动ssh服务: sudo systemctl start ssh
Xshell 远程连接
xshell 安装运行后闪退
找到【flexnet licensing service】服务然后停止,右击属性,把启动类型改成禁止就可以
https://blog.csdn.net/qq_34231823/article/details/120260491
VS Code远程连接设置
安装远程服务ssh:sudo apt install openssh-server;
可以先创建一个用户 sudo ad ...