小白Mindspore大模型学习笔记(1)

import mindspore
from mindspore import nn
from mindspore.dataset import vision,transforms
from midspore.dataset import MnistDataset

下载mindspore需要python3.7-3.9

由于博主以前的python版本是3.12,故博主用的是conda去创建虚拟环境,更改python版本后下载。

查看自己python版本做法

python --version
conda create -n mindspore_env python=3.8
conda activate mindspore_env

进入到mindspore_env环境后,使用CPU的下载方式

conda install mindspore-cpu -c mindspore

加载数据集需要用到的依赖:download,使用download能解压数据集,因为mindspore.dataset只支持解压后的文件

pip install download

本小白博主将基于手写识别项目开展下面的代码(基于华为mindspore训练营资料~):

import mindspore
from mindspore import nn
from mindspore.dataset import vision,transforms
from mnidspore.dataset import MnistDataset

(插播一句~推荐使用vscode配合jupternotebook进行学习~)

#加载数据集
from download import download
url="/对应的路径"
path=download(url,"/",kind="zip",replace=True)

运行的截图如下~~~~~~~~~~

定义测试集和训练集:

train_dataset

text_dataset

train_dataset=MnistDataset('MNIST_Data/train')
text_dataset=MnistDataset('MNIST_Data/test')

打印列名用 get_col_names()

print(train_dataset.get_col_names())

MinsSpore 的dataset是使用数据处理流水线进行处理的,需要指定map,batch,shuffle等操作。使用map对图像数据和标签进行变换处理,将处理好的数据集打包为64的batch。

rescale

normalsize

def datapipe(dataset,batch_size):

            image_transforms=[
                   vision.Rescale(1.0/255.0,0),
#Rescale:原始图片中,每个像素的灰度值在0-255之间,需要通过`Rescale`将数值变为0-1之间;
                   vision.Normalize(mean=(0.1307,),std=(0.3081,)),

#Normalize:按照mean=0.1307,std=0.3081,通过`Normalize`对数据进行归一化;
                   vision.HWC2CHW()
]

#将数据改为32位的形式
label_transform=transforms.TypeCast(mindspore.int32)

标签变换处理,用map~。map的第一个参数是处理函数列表,第二个参数表示需要处理的列

dataset=dataset.map(image_transforms,'image')
dataset=dataset.map(label_transforms,'image')
dataset=dataset.batch(batch_size)
return dataset

                                                     运行的截图如下~~~~~~~~~~

关于张量~

张量:

引用自其他博主:

“张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度。
有n维度就叫做n维张量”

是一个可用来表示在一些矢量、标量和其他张量之间线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性变换等。其中的每一个分量都是坐标的函数,而在坐标变换的时候,这些分量也依照某些规则做线性变换。

张量是一种特殊的数据结构,类似于数组和矩阵

import numpy as np
import mindspore
from mindspore import ops
from mindspore import Tensor,CSRTensor,COOTensor

创建张量:

1.根据数据直接创造张量

data=[1,1,1,0,5]
x_data=Tensor(data)
print(x_data,x_data.shape,x_data.dtype)

                                                          运行的截图如下~~~~~~~~~~

2.从NumPy数组直接创造张量

data=[1,9,1,0,5]
np_array=np.array(data)
x_np=Tensor(np_array)
print(x_np,x_np.shape,x_np.dtype)

                                                       运行的截图如下~~~~~~~~~~

   用init的方式去创建张量

from mindspore.common.initializer import One,Normal
tensor1=mindspore.Tensor(shape=(2,2),dtype=mindspore.float32,init=One())
tensor1=mindspore.Tensor(shape=(2,2),dtype=mindspore.float32,init=Normal())
print("tensor1:\n",tensor1)
print("tensor2:\n",tensor2)

继承张量

from mindspore import ops
from mindspore import Tensor
data=[1,2,2,3,8]
x_data=Tensor(data)
x_ones=ops.ones_like(x_data)
x_zeros=ops.zeros_like(x_data)
print(f"one tensor{x_ones}\n")
print(f"one tensor{x_zeros}\n")

继承的是x_data张量的性质

输出的结果:

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值