- 博客(32)
- 收藏
- 关注
原创 【人工智能】如何在白嫖的阿里云PAI平台上跑模型?
在“交互式建模(DSW)”中新建实例,阿里云自带的示例镜像是很少的,所以我们只需要筛选出适合你的项目的CUDA版本就好。DSW实例可以看作是一个Linux虚拟机,之后我们在实例中新建另一个Python环境使用即可。解压zip:unzip your_zip_file.zip -d output_directory。新建完实例后我们打开实例控制台,切换到Terminal终端板块,开始安装Python。安装完Python的全新环境之后使用pip安装Pytorch和其他软件包就行了。
2024-08-19 11:31:43
308
原创 【PVE】新增2.5G网卡作为主网卡暨iperf测速流程
新增网卡的首先当然需要关闭PVE母机,把新网卡插上,我用淘宝遥现金搞了个红包,花了26元买了块SSU的2.5G网卡。然后保存,应用配置,此时日志不会显示出来了,这是正常的,因为连接PVE的后台的网卡已经变味了新网卡,现在我们把网线换到新网卡即可重新进入PVE后台。插上之后启动PVE,在后台即可看到新的网卡“enp3s0”。当然它默认是关闭的。可见这网卡速度还是可以的,能跑到2.35G,一般便宜的2.5G网卡也就这水平了。网卡启动之后我们编辑Linux Bridge,将桥接端口改为新的网卡名称。
2024-07-10 17:43:01
744
原创 Proxmox VE(PVE)上手配置指南
①更换软件源为ustc,关闭企业更新源 ②关闭网页订阅提示。或者使用官方提供的一键安装脚本(使用git)ssh链接或后台shell,输入以下命令。在数据中心的存储中删除local-lvm。①在/var目录下创建一个swap目录。为local添加其他存储内容。在/etc/fstab中添加。③创建一个swap分区文件。给予对应权限之后打开脚本。用ftp工具导入PVE。④格式化文件为交换空间。
2024-06-27 08:30:33
686
原创 【Python】Flask问答系统Demo项目
整体来说这个项目的思路就是使用Flask并联合Jinja2模板渲染引擎,在GET请求Flask后端路径时返回响应html文件,同样在html文件中可以通过JavaScript等手段发送POST请求到后端进行提交form的操作。这个项目让我对Flask加深了了解,比如说Flask中的蓝图,使用SQLAlchemy(flask_sqlalchemy包)操作数据库,使用flask_mail包发送邮件,使用装饰器做一个登录检测来屏蔽未登录用户的访问。
2024-06-11 17:11:17
899
原创 【机器学习】【深度学习】优化器(Optimizer)
优化器(Optimizer)是深度学习中的一个核心的概念,用于更新神经网络的权重,以减少或最小化损失函数(loss function)的值。损失函数衡量了模型的预测值与真实值之间的差异,而优化器的目标是通过调整网络参数来最小化这个差异,从而提高模型的准确性和性能。在神经网络训练过程中,优化器在反向传播过程中起着至关重要的作用。反向传播计算了损失函数相当于模型参数的梯度(即损失函数的导数),优化器则使用这些梯度来更新模型的参数。
2024-06-08 09:29:07
3099
2
原创 【Python】【PVE】使用PVE-API对虚拟机进行远程关机
注意:这里的特权分离是指API令牌是否单独授权,如果取消勾选,则API令牌的权限与你选择的用户拥有的权限完全相同,如果勾选,则需要在权限一栏根据所需为令牌添加对应的权限,建议单独授权。令牌ID自己取名字即可。
2024-06-06 10:44:52
597
原创 【Python】让我们来生成二维码吧
创建二维码图片时的make_image方法中的fill_color参数是设置二维码的颜色,使用的是HEX颜色,如果你不知道如何获取HEX颜色代码,请在线搜索。注意:这个代码中我使用hashlib模块来计算文件名,如果你不需要自动生成文件名可以把generate_filename()函数删掉。安装qrcode包:pip install qrcode[pil]安装Pillow包:pip install Pillow。
2024-06-06 08:18:56
309
原创 【Python】pyinstaller打包时添加详细信息
版本号:filevers,prodvers,FileVersion,ProductVersion。在要被打包的py文件同级目录新建version.txt,写入以下内容。应用名称:InternalName,FileDescription。语言:Translation(以上示例是简体中文)原始文件名称:OriginalFilename。版权信息:LegalCopyright。公司名:CompanyName。在打包时加入以下参数即可。
2024-06-04 08:54:58
430
原创 【机器学习】【深度学习】批量归一化(Batch Normalization)
归一化指的是将数据缩放到一个固定范围内,通常是 [0, 1],而标准化是使得数据符合标准正态分布。归一化的作用是使不同特征具有相同的尺度,从而使模型训练更加稳定和快速,尤其是对于使用梯度下降法的算法。而标准化的作用加快模型收敛速度,提高模型的性能。批量归一化用于加速神经网络的训练并提高模型的稳定性。它在每个批次的数据上进行标准化,通过对每层的输入进行归一化处理,使得网络中间层的激活值保持在一个较小的范围内,有助于加速模型的收敛,同时减少了梯度消失和爆炸的问题。所以批量归一化特别适合深层网络。
2024-05-28 20:51:39
987
原创 【机器学习】【深度学习】正则化(Regularization)
过拟合意味着模型具有很高的方差(高方差意味着模型对训练数据中的微小变化非常敏感),当你的模型中的参数越多,模型的灵活性就越大(拟合能力强),在模型中调整的东西越多,就越有可能有高方差。例如我们现在要把右图的灰色和绿色点区分开,需要使用神经网络进行拟合函数,若函数有n次项,那么预测函数就会有n个弯曲点,弯曲点越多在某种程度上表示拟合度更大,所以我们需要减少高次项或者其权重(高次项的系数)。正则化有两种方式,第一种是限制模型的灵活性,例如有L1正则化,L2正则化,Dropout和Early Stoping。
2024-05-22 16:02:00
1344
原创 【Python】【PyTorch】超参数对于训练的影响
示例EpochsBatch SizeLearning Rate总结Epochs(训练轮数)Test Accuracy: 增加训练轮数可以提高测试准确率,特别是在Test Accuracy尚未收敛时。训练轮数过多可能导致过拟合,反而降低测试的准确率。当训练轮数合适时,测试准确率会逐渐提高并趋于稳定。Test Loss: 在模型尚未收敛时,增加训练轮数可以降低测试损失。但过多的训练轮数可能导致过拟合,进而测试损失上升。当训练轮数合适时,测试损
2024-05-20 15:17:50
542
原创 【Python】【机器学习】在训练代码中建立混淆矩阵
for t, p in zip(targets, preds)是同时遍历targets(真实标签)和真实标签对应的preds(预测标签),然后在conf_matrix的t.item()和p.item()位置更新混淆矩阵,也就是+=1。outputs.argmax(1)用于获取输出的最大预测值(也就是Top-1),output是二维张量:[batch_size, 类别数];preds是一维张量[batch_size],相当于提取出一个类别。
2024-05-18 10:12:00
626
原创 【Python】【机器学习】混淆矩阵的各项指标计算
False Negative (FN) = **明明是正例,但很不幸,我猜它是反例的数量。精确率(Precision)精确率表示**模型预测为正类的样本中,实际为正类的比例。**它衡量了模型在正类预测中的准确性。召回率(Recall)召回率表示**实际为正类的样本中,被模型正确预测为正类的比例。True Negative (TN) = **是反例,且很幸运我也猜它是反例的数量。True Positive (TP) = **是正例,且很幸运我也猜它是正例的数量。**此处4表示有4张图片是猫,且我也猜它是猫。
2024-05-17 14:08:45
1446
原创 深度学习中的一些概念
欠拟合是指模型没有很好地捕获到数据特性,不能完整地表示数据的全部信息,也就是模型的复杂度低于应有的水平。例如,假设一个数据集实际上服从二阶多项式分布,但我们使用一阶线性模型去拟合它,这样的模型就会出现欠拟合。由于模型过于简单,它在训练集上的预测表现就会很差。
2024-05-12 20:53:00
375
原创 解决Windows11终端中的程序运行结束后不会自动关闭
一开始我以为这是IDE搞的鬼,结果我确保IDE设置正确,调试结束后直接关闭cmd窗口,可是还是会出现这个问题。但是在我的其他电脑或者虚拟机中就没有这个问题。于是我找了找Windows11的Terminal设置,在其深处藏着一个选项。找到Terminal中的配置文件-默认值-高级-关闭行为,把这个选项改为自动,以上问题就解决了,之前这里的选项是“从不自动关闭”。
2024-05-08 17:33:03
951
原创 【训练与预测】01 - 完成的模型训练套路
当在训练神经网络时,如果使用了Dropout,那么在训练阶段,每次前向传播都会随机关闭网络的一部分神经元(即丢弃),以防止过拟合。然而,在评估或测试过程中,你需要使用全部神经网络,因此dropout应该被关闭,这就需要用到网络对象名.eval()。网络对象名.train()和网络对象名.eval()是用于开启网络的训练模式和测试模式,但是没有写这两段代码时,训练也没有问题,这是怎么回事?因此,虽然在不使用train()和eval()切换模式的情况下,你的神经网络依然可以运行,但是可能无法达到最优表现。
2024-05-07 18:09:35
886
原创 【Python】在Windows Server上部署Flask后端服务器
想要在Windows Server上部署flask应用,当然不能只下一个anaconda配完环境之后直接启动py文件,这样的话后台会有一段警告,意思就是直接使用app.run()开启的服务器只是一个开发服务器,官方提示不要把它放到生产环境,需要使用一个WSGI服务器。
2024-05-05 20:53:27
889
1
原创 【神经网络】09 - 优化器 torch.optim
优化器是用于更新和管理模型参数以改进模型性能的一种工具。在机器学习和深度学习中,优化器的主要任务是通过调整模型的参数来最小化或最大化特定的目标函数。在许多情况下,这个目标函数是一个损失函数,我们的目标是将其最小化。在 PyTorch 中,torch.optim 是一个包含了各种优化算法的模块,用于帮助开发者在训练神经网络时更方便地更新和管理模型参数。当我们训练神经网络时,我们的目标是找到一组模型参数,可以最小化或最大化某个损失函数或者目标函数。
2024-05-02 22:26:49
1172
原创 【神经网络】08 - 损失函数&反向传播
损失函数:在深度学习模型中,损失函数(Loss Function)是一种衡量模型预测与真实值之间差距的函数。换句话说,它是模型的性能指标。在训练过程中,我们的目标就是找到一组参数,它们可以最小化损失函数。常见的损失函数有均方误差(MSE, Mean Squared Error),交叉熵(Cross Entropy)等。我之前学的人工智能原理中的方差代价函数也属于这里的损失函数。
2024-05-01 17:26:11
2627
原创 【神经网络】07 - Sequential小实战
在 PyTorch 中,Sequential是一个容器(container)类,用于构建神经网络模型。它允许你按顺序(sequential)添加不同的网络层,并将它们串联在一起,形成一个网络模型。这样做可以方便地定义简单的前向传播过程,适用于许多基本的网络结构。Sequential的优点之一是其简洁性和易读性,特别适用于简单的网络结构。然而,对于更复杂的模型,可能需要使用 PyTorch 的其他模型构建方式,如使用nn.Module基类自定义网络结构,以满足更灵活的需求。
2024-04-30 11:15:05
622
原创 【神经网络】06 - PyTorch自带的网络模型
许多框架会把VGG16当作前置框架,使用VGG16提取特征,在VGG16后面加一些网络结构实现功能。
2024-04-29 13:05:29
674
原创 【神经网络】05 - 全连接层
nn.Linear在PyTorch中是用于创建全连接层(全连接神经网络层)的类。全连接层也被称为密集连接层或者全连接神经网络层,是深度学习中常用的一种网络层类型。全连接层的作用是将上一层的所有节点都连接到当前层的每个节点,这样每个节点都与上一层的所有节点相连,形成了完全连接的网络结构。这种结构可以学习到输入数据之间的复杂非线性关系,从而提高模型的表达能力。在PyTorch中,使用nn.Linear可以方便地创建全连接层,指定输入特征的维度和输出特征的维度。
2024-04-27 16:06:17
575
原创 【神经网络】04 - 非线性激活
在PyTorch中,非线性激活函数是用于神经网络中的一种函数,它们的作用是在神经网络的各层之间引入非线性特性,从而增强模型的表达能力。常见的非线性激活函数包括ReLU(Rectified Linear Unit)、Sigmoid、Tanh等。
2024-04-27 16:05:17
455
原创 【神经网络】03 - (最大)池化层
池化层是一种用于减少特征图(feature map)大小的层级。它通过对输入的特征图进行某种形式的聚合操作,例如最大池化或平均池化,从而降低了特征图的空间维度,减少了参数数量和计算负担。总的来说,池化层在卷积神经网络中起到了对特征进行降维和抽象表示的作用,有助于网络有效地学习和提取输入数据中的关键信息。
2024-04-26 08:45:12
733
原创 【神经网络】02 - 卷积层
卷积层是深度学习神经网络中的一种基本层,用于提取输入数据中的特征。它通过卷积操作对输入数据进行处理,并输出具有更高级别表示的特征图(feature map)。卷积层在图像处理、自然语言处理等领域中都有广泛的应用。卷积分为不同维度,有Conv1d,Conv2d和Conv3d,我们主要学习二维卷积。卷积层通常与其他层结合使用,如激活函数层(如ReLU)、池化层(如最大池化、平均池化)和全连接层,构成深度神经网络的基本架构。
2024-04-25 07:19:10
692
原创 【神经网络】01 - 基本骨架nn.Module
在 PyTorch 中,nn.Module 是一个用于构建神经网络模型的基类。方法用于初始化模型,但这个方法目前为空,因为在这个简单的例子中,我们并没有添加具体的层或参数。在这个方法中,我们对输入进行加一操作,并将结果作为输出返回。,这里的输出结果将是2.0,因为我们将输入1.0加一了,得到了2.0。类,这是PyTorch中定义神经网络模型的基类。接着,我们创建了一个值为1.0的PyTorch张量。首先,我们导入了PyTorch库,并引入了其中的。类中,我们定义了一个。然后,定义了一个名为。
2024-04-24 16:14:25
450
原创 【数据的读取和处理】04 - torchvision中的数据集使用
注意download=True可以自动下载数据集。接下来联动transforms和Tensorboard。
2024-04-23 07:40:56
265
原创 【数据的读取和处理】03 - Transforms
是PyTorch中的一个模块,是一个工具箱,用于进行图像处理和数据增强的操作。它提供了一系列的转换函数,可以方便地对图像进行预处理、增强或者转换,以满足模型训练或推理的需求。这些转换可以通过组合使用来构建一个数据预处理流水线,用于准备训练集或测试集中的图像数据。通过这些转换,可以提高模型的泛化能力、抗扰动能力,并且可以在训练过程中对数据进行增广,以防止过拟合。
2024-04-22 13:19:40
639
原创 【数据的读取和处理】02 - TensorBoard
TensorBoard是TensorFlow深度学习框架提供的一个可视化工具,用于可视化训练过程中的模型结构、训练曲线、图像、直方图以及其他与模型训练相关的数据。它是一个非常强大的工具,能够帮助深度学习工程师和研究人员更好地理解模型的训练过程,优化模型性能,诊断问题等。虽然TensorBoard最初是为TensorFlow设计的,但是PyTorch用户也可以使用TensorBoard来可视化他们的模型和训练过程。
2024-04-22 13:09:28
511
原创 【数据的读取和处理】01 - Dataset和DataLoader
在PyTorch中,Dataset和DataLoader是两个关键的类,用于处理数据加载和预处理,特别是在训练神经网络时。
2024-04-22 07:26:29
2215
Python Flask问答系统Demo项目.zip
2024-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人