IT专业入门,高考假期预习指南
七月来临,各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束,而是新旅程的开始。对于有志于踏入IT领域的高考少年们,这个假期是开启探索IT世界的绝佳时机。作为该领域的前行者和经验前辈,你是否愿意为准新生们提供一份全面的学习路线图呢?快来分享自己的学习心得和实战经验,来为这批新生提供宝贵的第一手资料吧!结合自己的实际,提供一份专属预习指南,帮助少年们为未来的IT学习和职业生涯打下坚实基础,开启一段挑战与机遇并存的暑期学习之旅吧!
高考结束后,准大学生们终于迎来了难得的假期,但这并不意味着可以彻底放松下来。对于那些有志于进入IT领域的同学们来说,假期是一个宝贵的时间窗口,可以为即将开始的大学生活和未来的职业生涯做好准备。作为一个“资深学生”,在这里我想说,不管在什么阶段,假期都是成长的绝好时机,利用好假期能够收获很多。
在IT领域中,人工智能和深度学习是目前非常热门的方向。为了帮助大家更好地理解和应用这项技术,我们将介绍如何使用MindSpore构建一个简单的神经网络模型。MindSpore是一个开源的深度学习框架,提供了许多常见的神经网络层的实现,使得神经网络的构建和管理变得非常方便。
环境配置
!pip uninstall mindspore -y
!pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore==2.2.14
导入模块
import mindspore
from mindspore import nn, ops
定义模型类
class Network(nn.Cell):
def __init__(self):
super().__init__()
self.flatten = nn.Flatten()
self.dense_relu_sequential = nn.SequentialCell(
nn.Dense(28*28, 512, weight_init="normal", bias_init="zeros"),
nn.ReLU(),
nn.Dense(512, 512, weight_init="normal", bias_init="zeros"),
nn.ReLU(),
nn.Dense(512, 10, weight_init="normal", bias_init="zeros")
)
def construct(self, x):
x = self.flatten(x)
logits = self.dense_relu_sequential(x)
return logits
实例化Network
对象并查看其结构
model = Network()
print(model)
数据输入与预测
X = ops.ones((1, 28, 28), mindspore.float32)
logits = model(X)
print(logits)
获得预测概率
pred_probab = nn.Softmax(axis=1)(logits)
y_pred = pred_probab.argmax(1)
print(f"Predicted class: {y_pred}")
分解模型层
input_image = ops.ones((3, 28, 28), mindspore.float32)
print(input_image.shape)
实例化nn.Flatten
层
flatten = nn.Flatten()
flat_image = flatten(input_image)
print(flat_image.shape)
nn.Dense
为全连接层
其使用权重和偏差对输入进行线性变换
layer1 = nn.Dense(in_channels=28*28, out_channels=20)
hidden1 = layer1(flat_image)
print(hidden1.shape)
nn.ReLU
层
为网络加入非线性的激活函数,帮助神经网络学习各种复杂的特征
hidden1 = nn.ReLU()(hidden1)
print(hidden1)
nn.SequentialCell
是一个有序的Cell容器,输入Tensor将按照定义的顺序通过所有Cell
seq_modules = nn.SequentialCell(
flatten,
layer1,
nn.ReLU(),
nn.Dense(20, 10)
)
logits = seq_modules(input_image)
print(logits.shape)
nn.Softmax
将神经网络最后一个全连接层返回的logits的值缩放为[0, 1],表示每个类别的预测概率
softmax = nn.Softmax(axis=1)
pred_probab = softmax(logits)
模型参数
网络内部神经网络层具有权重参数和偏置参数(如nn.Dense
),这些参数会在训练过程中不断优化。
for name, param in model.parameters_and_names():
print(f"Layer: {name}\nSize: {param.shape}\nValues : {param[:2]} \n")
结果:|
标签:25,12,Dense,nn,28,init,print,打卡,logits From: https://blog.csdn.net/ljd939952281/article/details/140111315学习心得:
通过上述步骤,大家可以初步了解如何使用MindSpore构建和管理神经网络模型。希望这份指南能够帮助高考完的准大学生们在暑假期间对IT专业有更深入的认识,并为未来的学习和职业生涯打下坚实的基础。
接下来,我还将介绍其他与IT专业相关的重要内容和实用技巧,帮助大家全面提升自己的知识和技能。敬请期待!