- 博客(3)
- 收藏
- 关注
原创 CUDA学习笔记(1)
流是一种基于context的任务抽象管道,也是cuda中异步控制的主要方式,一个context可以创建多个流用于控制多个事件的执行和同步,nullptr代表默认流;pageable memory(可分页内存)->GPU不可以直接访问,因为第三方设备无法感知内存是否被交换,由new、malloc进行分配得到;pinned-memory(page lock memory)->GPU可直接访问,具有锁定特性,由cudaMallocHost分配得到;global-memory->可以由cudaMalloc分配;
2023-06-26 00:25:27 154 1
原创 pytorch中的高维数组切片操作实验
l3是3行2列的数组,将其对l1进行切片后第0维被扩充,也就是用新的[3,2]替代了原来0维上的4;可以看出,与一维数组的切片有类似的规律,:所在维度消失,:左边按照l3的维度进行空充(如果没有左边则选取最后一个维度),:右边不变;再看一个l2和l3混搭的类型。pytorch中的高维数组切片操作在各个算法中非常,但是高维数组的切片操作到底是如何进行的?这里也是经常出骚操作的地方,可以看出规律,如果是3维数组被一维数组切片后,所在:的维度消失,:左边的维度按照索引进行切片操作,:右边的索引不变;
2023-06-23 11:48:40 279
原创 BP算法处理MNIST数据集
定义简单的BP网络: images(b,784)->linear(784,256)->relu()->linear(256,10)->softmax()->output。首先定义几个简单的函数:relu(),softmax(),crossentropy_loss()计算结果:迭代20个epoch,准确率能达到93%以上,古法手搓,味道纯正!首先定义数据处理相关类,包括数据读取和预处理!
2023-06-18 11:30:09 156 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人