怎样把录的视频做一下传到网站在记算机上登陆一个网站点怎么做

当前位置: 首页 > news >正文

怎样把录的视频做一下传到网站,在记算机上登陆一个网站点怎么做,深圳英文站seo,wordpress 3.1 下载节前#xff0c;我们组织了一场算法岗技术面试讨论会#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 汇总合集…节前我们组织了一场算法岗技术面试讨论会邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 汇总合集 《AIGC 面试宝典》(2024版) 发布 《大模型面试宝典》(2024版) 发布 大模型的火热彻底把PyTorch带火Tensorflow 最近落寞了很多。想学会大模型PyTorch 是必需要学的工具之一。 PyTorch 是利用深度学习进行数据科学研究的重要工具在灵活性、可读性和性能上都具备相当的优势近年来已成为学术界实现深度学习算法最常用的框架。 考虑到PyTorch的学习兼具理论储备和动手训练两手都要抓两手都要硬的特点我梳理一份《深入浅出 PyTorch 》帮助大家从入门到熟练掌握 PyTorch 工具进而实现自己的深度学习算法。 需要《深入浅出 PyTorch 》可以加入我们技术群获取。 技术交流 前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~ 我们建了算法岗面试与技术交流群 想要进交流群、需要源码资料、提升技术的同学可以直接加微信号mlc2040。加的时候备注一下研究方向 学校/公司CSDN即可。然后就可以拉你进群了。 方式①、微信搜索公众号机器学习社区后台回复深入浅出 PyTorch 方式②、添加微信号mlc2040备注深入浅出 PyTorch CSDN 内容简介 第零章前置知识 人工智能简史相关评价指标常用包的学习Jupyter相关操作 第一章PyTorch的简介和安装 PyTorch简介PyTorch的安装PyTorch相关资源简介 第二章PyTorch基础知识 张量及其运算自动求导简介并行计算、CUDA和cuDNN简介 第三章PyTorch的主要组成模块 思考完成一套深度学习流程需要哪些关键环节基本配置数据读入模型构建损失函数优化器训练和评估可视化 第四章PyTorch基础实战 基础实战——Fashion-MNIST时装分类基础实战——果蔬分类实战notebook 第五章PyTorch模型定义 模型定义方式利用模型块快速搭建复杂网络模型修改模型保存与读取 第六章PyTorch进阶训练技巧 自定义损失函数动态调整学习率模型微调-torchvision模型微调-timm半精度训练数据扩充超参数的修改及保存PyTorch模型定义与进阶训练技巧 第七章PyTorch可视化 可视化网络结构可视化CNN卷积层使用TensorBoard可视化训练过程使用wandb可视化训练过程 第八章PyTorch生态简介 简介图像—torchvision视频—PyTorchVideo文本—torchtext音频-torchaudio 第九章模型部署 使用ONNX进行部署并推理 第十章常见网络代码的解读(推进中) 计算机视觉 图像分类 ResNet源码解读Swin Transformer源码解读Vision Transformer源码解读RNN源码解读LSTM源码解读及其实战 目标检测 YOLO系列解读 图像分割 自然语言处理 RNN源码解读 音频处理视频处理其他
部分内容展示 在深度学习模型的训练中权重的初始值极为重要。一个好的初始值会使模型收敛速度提高使模型准确率更精确。一般情况下我们不使用全0初始值训练网络。为了利于训练和减少收敛时间我们需要对模型进行合理的初始化。PyTorch也在torch.nn.init中为我们提供了常用的初始化方法。 通过本章学习你将学习到以下内容 常见的初始化函数初始化函数的使用 torch.nn.init内容 通过访问torch.nn.init的官方文档链接 我们发现torch.nn.init提供了以下初始化方法 1 . torch.nn.init.uniform(tensor, a0.0, b1.0) 2 . torch.nn.init.normal(tensor, mean0.0, std1.0) 3 . torch.nn.init.constant(tensor, val) 4 . torch.nn.init.ones(tensor) 5 . torch.nn.init.zeros(tensor) 6 . torch.nn.init.eye(tensor) 7 . torch.nn.init.dirac_(tensor, groups1) 8 . torch.nn.init.xavieruniform(tensor, gain1.0) 9 . torch.nn.init.xaviernormal(tensor, gain1.0) 10 . torch.nn.init.kaiminguniform(tensor, a0, mode‘fan__in’, nonlinearity‘leaky_relu’) 11 . torch.nn.init.kaimingnormal(tensor, a0, mode‘fan_in’, nonlinearity‘leakyrelu’) 12 . torch.nn.init.orthogonal(tensor, gain1) 13 . torch.nn.init.sparse_(tensor, sparsity, std0.01) 14 . torch.nn.init.calculate_gain(nonlinearity, paramNone) 关于计算增益如下表 nonlinearitygainLinear/Identity1Conv{1,2,3}D1Sigmod1Tanh5/3ReLUsqrt(2)Leaky Relusqrt(2/1neg_slop^2) 我们可以发现这些函数除了calculate_gain所有函数的后缀都带有下划线意味着这些函数将会直接原地更改输入张量的值。 torch.nn.init使用 我们通常会根据实际模型来使用torch.nn.init进行初始化通常使用isinstance()来进行判断模块回顾3.4模型构建属于什么类型。 import torch import torch.nn as nnconv nn.Conv2d(1,3,3) linear nn.Linear(10,1)isinstance(conv,nn.Conv2d) # 判断conv是否是nn.Conv2d类型 isinstance(linear,nn.Conv2d) # 判断linear是否是nn.Conv2d类型True False对于不同的类型层我们就可以设置不同的权值初始化的方法。

查看随机初始化的conv参数

conv.weight.data

查看linear的参数

linear.weight.datatensor([[[[ 0.1174, 0.1071, 0.2977],[-0.2634, -0.0583, -0.2465],[ 0.1726, -0.0452, -0.2354]]],[[[ 0.1382, 0.1853, -0.1515],[ 0.0561, 0.2798, -0.2488],[-0.1288, 0.0031, 0.2826]]],[[[ 0.2655, 0.2566, -0.1276],[ 0.1905, -0.1308, 0.2933],[ 0.0557, -0.1880, 0.0669]]]])tensor([[-0.0089, 0.1186, 0.1213, -0.2569, 0.1381, 0.3125, 0.1118, -0.0063, -0.2330, 0.1956]])# 对conv进行kaiming初始化 torch.nn.init.kaimingnormal(conv.weight.data) conv.weight.data

对linear进行常数初始化

torch.nn.init.constant_(linear.weight.data,0.3) linear.weight.datatensor([[[[ 0.3249, -0.0500, 0.6703],[-0.3561, 0.0946, 0.4380],[-0.9426, 0.9116, 0.4374]]],[[[ 0.6727, 0.9885, 0.1635],[ 0.7218, -1.2841, -0.2970],[-0.9128, -0.1134, -0.3846]]],[[[ 0.2018, 0.4668, -0.0937],[-0.2701, -0.3073, 0.6686],[-0.3269, -0.0094, 0.3246]]]]) tensor([[0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000,0.3000]])初始化函数的封装 人们常常将各种初始化方法定义为一个initialize_weights()的函数并在模型初始后进行使用。 def initializeweights(model):for m in model.modules():# 判断是否属于Conv2dif isinstance(m, nn.Conv2d):torch.nn.init.zeros(m.weight.data)# 判断是否有偏置if m.bias is not None:torch.nn.init.constant(m.bias.data,0.3)elif isinstance(m, nn.Linear):torch.nn.init.normal(m.weight.data, 0.1)if m.bias is not None:torch.nn.init.zeros(m.bias.data)elif isinstance(m, nn.BatchNorm2d):m.weight.data.fill(1) m.bias.data.zeros_() 这段代码流程是遍历当前模型的每一层然后判断各层属于什么类型然后根据不同类型层设定不同的权值初始化方法。我们可以通过下面的例程进行一个简短的演示

模型的定义

class MLP(nn.Module):# 声明带有模型参数的层这里声明了两个全连接层def init(self, kwargs):# 调用MLP父类Block的构造函数来进行必要的初始化。这样在构造实例时还可以指定其他函数super(MLP, self).init(kwargs)self.hidden nn.Conv2d(1,1,3)self.act nn.ReLU()self.output nn.Linear(10,1)# 定义模型的前向计算即如何根据输入x计算返回所需要的模型输出def forward(self, x):o self.act(self.hidden(x))return self.output(o)mlp MLP() print(mlp.hidden.weight.data) print(——-初始化——-)mlp.apply(initialize_weights)

或者initialize_weights(mlp)

print(mlp.hidden.weight.data)tensor([[[[ 0.3069, -0.1865, 0.0182],[ 0.2475, 0.3330, 0.1352],[-0.0247, -0.0786, 0.1278]]]]) ——-初始化——- tensor([[[[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]]]])注意 我们在初始化时最好不要将模型的参数初始化为0因为这样会导致梯度消失从而影响模型的训练效果。因此我们在初始化时可以使用其他初始化方法或者将模型初始化为一个很小的值如0.010.1等。