2024-09-30, 22:17-今日內容

Fastai 的dls 弄好之后, 可以直接呼叫让他show_batch 这样他会帮我们展示很多的图, 并且包括label Plt.imshow 期待的是h,w, channel Int64 的单位是64bit ,所以是64/8‎ = 8个byte。 Pd如果要指定删除某一列的数据, 我们需要指定df.drop(‘’column’, axis=1)因为他的axis的default… Mnist 竞赛我用的lr 是0.01, 开始, 然后做了epoch 几十个之后 ,用learn.fit_one_cycle(5,… 在linux上显示tensorboard 需要指定ip 0.0.0.0. 这样我们可以输入192,168.1.37:6006 来访… fastai 可以帮你load 自己的weight , 去覆盖pretraiend weight。 保证了你至少有一个稍微优秀的weight… tensorboard对于validation的loss 。 一般只会记录整个epoch完成之后的value, 而不是每个step… Board 里面的step 就是总的样本数量N/batch的数量, 训练save 模型直接帮你创建model dir, 并且我们load的时候也不用指定这个model dir 因为fastai自己知道… Linux上存储的都是byte 字节

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Fastai 的dls 弄好之后, 可以直接呼叫让他show_batch 这样他会帮我们展示很多的图, 并且包括label 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Plt.imshow 期待的是h,w, channel 但是我们一般的图像时channel, h, w/ 所以需要调整axis的循序。这里并不能reshape, 因为会把图弄的很乱。 import matplotlib.pyplot as plt

假设 images 的形状为 (batch_size, 3, 28, 28)

选择第一个图像并调整其形状为 (28, 28, 3)

image = images[0].transpose(1, 2, 0)

显示图像

plt.imshow(image) plt.show()

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Int64 的单位是64bit ,所以是64/8‎ = 8个byte。 我们经常需要吧int64转化成uint8 也就是1个byte。 这样就节约了很多内存

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Pd如果要指定删除某一列的数据, 我们需要指定df.drop(‘’column’, axis=1)因为他的axis的default… Pd如果要指定删除某一列的数据, 我们需要指定df.drop(‘’column’, axis=1)因为他的axis的default是0, 也就是row。 所以我们需要特殊指定

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Mnist 竞赛我用的lr 是0.01, 开始, 然后做了epoch 几十个之后 ,用learn.fit_one_cycle(5,… Mnist 竞赛我用的lr 是0.01, 开始, 然后做了epoch 几十个之后 ,用learn.fit_one_cycle(5, lr_max=1e-3, cbs=[tensorboard_callback, early_stopping_callback, save_model_callback]) 他会动态帮我们逐步减小。 现在我们用的模型是resnet18 。 Resnet50的效果特别不好, acc只有50多, 即使有很多epoch都不行。 估计是因为模型接受的image size 是很大的。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

在linux上显示tensorboard 需要指定ip 0.0.0.0. 这样我们可以输入192,168.1.37:6006 来访… 在linux上显示tensorboard 需要指定ip 0.0.0.0. 这样我们可以输入192,168.1.37:6006 来访问

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

fastai 可以帮你load 自己的weight , 去覆盖pretraiend weight。 保证了你至少有一个稍微优秀的weight… fastai 可以帮你load 自己的weight , 去覆盖pretraiend weight。 保证了你至少有一个稍微优秀的weight可以用:# 加载 ResNet18 架构 learn = vision_learner(dls, ‘resnet18’, pretrained=True, metrics=accuracy)

加载之前保存的模型权重

learn.load(‘9epoch_resnet18’)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

tensorboard对于validation的loss 。 一般只会记录整个epoch完成之后的value, 而不是每个step… tensorboard对于validation的loss 。 一般只会记录整个epoch完成之后的value, 而不是每个step结束后要记录的。 虽然我们也会对validation进行划分,但是我们只关心整个validation set的平均loss(对于batch的平均。 )

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Board 里面的step 就是总的样本数量N/batch的数量, 也就是总数量事42000条数据/图片,batch我们事64,那么step就是42000/64‎ = 656.25 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

训练save 模型直接帮你创建model dir, 并且我们load的时候也不用指定这个model dir 因为fastai自己知道… 训练save 模型直接帮你创建model dir, 并且我们load的时候也不用指定这个model dir 因为fastai自己知道。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Linux上存储的都是byte 字节 是的,Linux 系统上的存储单位通常是以字节(Byte, B)为基础的。文件大小通常以字节(B)、千字节(kB)、兆字节(MB)、千兆字节(GB)等为单位来表示

#匯總今日內容