PaddlePaddle第一周学习心得
PaddlePaddle第一周学习心得
PaddlePaddle课程心得体会
学习的这项免费课程来自毕然老师的《百度架构师手把手带你零基础实践深度学习》,是一个21天的理论+实践课程。非常感谢得到这样一个学习机会~
本人基础:数学基础知识薄弱,R语言熟练掌握,学习过深度神经网络的基础知识,跑过R语言中H2O、deepnet包的demo并进行过小的实验
在本次课程中的诉求:快速掌握Python语法并进行一定的深度学习实践
第一周的心得体会:总体来讲作为一门免费课程,课程的含金量非常高(对于我这种python+数学小白),每一节课的内容都非常充实。
第一周的内容主要学习了两个章节:
第一章节是深度学习的零基础入门,讲解了一些概念,从生动有趣的理论讲解再到细节的代码实践(真的是非常扎实地用python语句完成了所有的实践,学习代码的过程中也让我对python语法有了一些理解),再到使用飞桨平台的代码对比,发现飞桨平台真的非常友好,它有固定的语句编写程式,能让你更加专注于任务本身而不是纠结在代码实现。
第二章则是用mnist手写字体识别数据库进行了基于飞桨平台的深度学习完整实现。
在学习的过程中虽然遇到非常多的困难和问题,但不断查阅资料为自己解答困惑的过程也非常有意思(虽然还是有很多坑没啃掉orz)希望第二周再接再厉!
PaddlePaddle学习框架
图片摘自https://blog.csdn.net/weixin_44095278/article/details/107927546。
该教程使用的是“横纵式”教学法。在“横纵式”教学法中,纵向概要介绍模型的基本代码结构和极简实现方案。横向深入探讨构建模型的每个环节中,更优但相对复杂的实现方案。例如在模型设计环节,除了在极简版本使用的单层神经网络(与房价预测模型一样)外,还可以尝试更复杂的网络结构,如多层神经网络、加入非线性的激活函数,甚至专门针对视觉任务优化的卷积神经网络。
一些课程作业的代码
PS:(没有跑通(卑微))
# 加载飞桨和相关数据处理的库 import paddle import paddle.fluid as fluid from paddle.fluid.dygraph.nn import Linear import numpy as np import os import gzip import json import random def load_data(mode='train'): # 读取cifar数据 trainset = paddle.dataset.cifar.train10(cycle=False) train_reader = paddle.batch(trainset, batch_size=8) print('cifar dataset load done') testset = paddle.dataset.cifar.test10(cycle=False) test_reader = paddle.batch(testset, batch_size=8) imgs, labels = trainset[0], trainset[1] # 数据集相关参数,图片高度IMG_ROWS, 图片宽度IMG_COLS IMG_ROWS = 32 IMG_COLS = 32 # 校验数据 imgs_length = len(imgs) assert len(imgs) == len(labels), \ "length of train_imgs({}) should be the same as train_labels({})".format(len(imgs), len(label)) # 获得数据集长度 imgs_length = len(imgs) # 定义数据集每个数据的序号,根据序号读取数据 index_list = list(range(imgs_length)) # 读入数据时用到的批次大小 BATCHSIZE = 100 # 定义数据生成器 def data_generator(): if mode == 'train': # 训练模式下打乱数据 random.shuffle(index_list) imgs_list = [] labels_list = [] for i in index_list: # 将数据处理成希望的格式,比如类型为float32,shape为[1, 28, 28] img = np.reshape(imgs[i], [1, IMG_ROWS, IMG_COLS]).astype('float32') label = np.reshape(labels[i], [1]).astype('float32') imgs_list.append(img) labels_list.append(label) if len(imgs_list) == BATCHSIZE: # 获得一个batchsize的数据,并返回 yield np.array(imgs_list), np.array(labels_list) # 清空数据读取列表 imgs_list = [] labels_list = [] # 如果剩余数据的数目小于BATCHSIZE, # 则剩余数据一起构成一个大小为len(imgs_list)的mini-batch if len(imgs_list) > 0: yield np.array(imgs_list), np.array(labels_list) return data_generator # 声明数据读取函数,从训练集中读取数据 train_loader = data_generator # 以迭代的形式读取数据 for batch_id, data in enumerate(train_loader()): image_data, label_data = data if batch_id == 0: # 打印数据shape和类型 print("打印第一个batch数据的维度:") print("图像维度: {}, 标签维度: {}".format(image_data.shape, label_data.shape)) break
- 飞桨PaddlePaddle百度架构师手把手带你零基础实践深度学习 第一周心得
- 第一周:PageRank学习心得--JAVA编程实现
- 滴答学习第一周学习心得
- 百度PaddlePaddle深度学习七日打卡技术心得及笔记
- 飞浆paddlepaddle深度学习框架学习心得-爬虫篇
- PaddleCamp学习心得
- 百度飞桨PaddlePaddle深度学习心得分享
- 《软件工程》学习心得体会——项目第一周
- 百度飞桨PaddlePaddle7日打卡营学习心得
- JAVA第一周学习心得
- 嵌入式第一周学习心得
- Paddle框架《深度学习7日入门-CV疫情特辑》--学习心得
- 飞桨PaddlePaddle论文复现营论文学习心得
- PaddlePaddle论文复现课程-BigGan学习心得
- PaddlePaddle/飞桨 第一周学习心得
- 前端【学习心得】HTML基础 | 第一周【前端工程师养成计划】DW开发工具
- 百度Paddle深度学习训练营学习心得
- Python第一周学习心得
- 第一周学习心得
- 记录一下paddlepaddle深度学习心得