云服务器训练神经网络

本文详细指导如何在Linux云服务器上设置神经网络训练环境,包括使用WinSCP连接、搭建Python3.6虚拟环境、部署虚拟环境、上传训练数据、使用brian2库训练、解决内存不足问题及持久化运行。还介绍了如何添加swap交换文件优化资源分配。

如何在云服务器上训练(train)神经网络?

一、linux常用命令

linux命令 作用
cd / 切换到根目录
pwd 查看当前目录路径
ls -a 查看根目录
rm -rf 删除文件夹
sudo mkdir 文件夹名称 创建文件夹

二、WinScp连接云服务器

文件协议:SFTP
主机名:实例公网IP
用户名:root
密码:root密码,(如果忘记,可以通过 sudo passwd root 修改)
保存登录即可。

  • 报错Permission denied,please try again:
    当使用Winscp连接云服务器时,我们发现错误,被拒绝,是因为ssh的权限问题,需要修改权限,进入到/etc/ssh文件夹下,用root用户修改文件sshd_config,(引用链接:https://www.cnblogs.com/xuliangxing/p/7428737.html
  • 解决办法:
    切换到root用户:sudo -i
    如果忘记root密码 可以更改:sudo passwd root
    用root用户修改文件:cd /etc/ssh , vim sshd_config
    将PermitRootLogin no / without-password改为PermitRootLogin yes(需要解开注释)
    重启sshd服务:sudo service ssh restart

三、搭建云服务器虚拟环境(ubuntu为例)

借鉴文章,总结如下:

  • 安装python3.6

  • 检测pip3是否存在:

    pip3 -V
    

    如果不存在,安装:

    sudo apt install python3-pip
    

    检查安装:

    pip3 list
    
  • 安装虚拟环境virtualenv

    sudo apt install python3-virtualenv
    //或者
    pip3 install virtualenvwrapper
    

    对比:virtualenv不是很友好,我们可以安装virtualwrapper。virtualwrapper它是一个简单方便管理Python虚拟环境的工具。

  • 查看virtualwrapper存放路径,记为 road1

    whereis virtualenvwrapper.sh
    
  • 接着配置virtualwrapper的环境变量,存储即将创建的虚拟环境

    vim ~/.bashrc
    

    shift+g直接跳到底部,点击键盘的i键进入插入模式:

    export VIRTUALENVWRAPPER

### 如何在腾讯云服务器上配置和训练ResNet深度学习模型 #### 选择合适的实例类型 对于深度学习任务,尤其是像ResNet这样的复杂神经网络,建议选用配备GPU的CVM(Cloud Virtual Machine)。这类机器能够显著加速模型训练过程。具体型号可以根据预算以及预期性能需求来决定。 #### 安装必要的软件环境 为了支持TensorFlow框架下的ResNet实现,需预先安装Python及其相关库文件。通常情况下,Anaconda是一个很好的选择因为它简化了包管理流程[^1]。 ```bash # 更新系统包列表并安装基础依赖项 sudo apt-get update && sudo apt-get install -y python3-pip git wget bzip2 libsm6 libxext6 libfontconfig1 libxrender-dev # 下载Miniconda用于创建独立的工作环境 wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda # 初始化Conda并将之加入PATH变量中以便后续命令可以直接调用 source ~/miniconda/etc/profile.d/conda.sh # 创建一个新的虚拟环境名为tf-gpu专门用来运行带有GPU支持版本的TensorFlow程序 conda create --name tf-gpu tensorflow-gpu ipython jupyter matplotlib scikit-image pandas numpy=1.19.2 h5py pyyaml Pillow seaborn requests tqdm opencv-python keras-preprocessing imageio scipy tensorboard ``` #### 获取预训练模型或自定义构建ResNet架构 如果想要利用已有的研究成果加快开发进度,则可以从官方渠道下载经过ImageNet数据集验证过的预训练权重;反之则可根据论文描述自行编码搭建完整的卷积层结构。 ```python from tensorflow.keras.applications import ResNet50V2 model = ResNet50V2(weights='imagenet', include_top=False, input_shape=(224, 224, 3)) for layer in model.layers[:-4]: layer.trainable = False # 添加新的分类头 flatten_layer = Flatten()(model.output) dense_layer_1 = Dense(128, activation='relu')(flatten_layer) dropout_1 = Dropout(0.5)(dense_layer_1) prediction_layer = Dense(num_classes, activation='softmax')(dropout_1) final_model = Model(inputs=model.input, outputs=prediction_layer) ``` #### 数据准备与处理 确保拥有足够的标注样本供算法学习规律,并对其进行适当变换增强泛化能力。考虑到分布式计算场景下多台设备间的协作机制,应当合理分配子集给各个工作节点负责局部优化操作[^3]。 ```python import os from sklearn.model_selection import train_test_split from tensorflow.keras.preprocessing.image import ImageDataGenerator datagen = ImageDataGenerator( rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) train_generator = datagen.flow_from_directory( 'data/train', target_size=(224, 224), batch_size=batch_size, class_mode='categorical') validation_generator = datagen.flow_from_directory( 'data/validation', target_size=(224, 224), batch_size=batch_size, class_mode='categorical') ``` #### 编写脚本启动训练作业 编写一个简单的Python脚本来编译设置好的模型对象、指定损失函数形式及评估指标体系等内容之后就可以正式开启迭代拟合环节了。当涉及到大规模集群运算时记得调整参数使得整个进程更加高效稳定。 ```python if __name__ == '__main__': final_model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) history = final_model.fit( train_generator, steps_per_epoch=train_samples // batch_size, validation_data=validation_generator, validation_steps=validation_samples // batch_size, epochs=num_epochs) # Save the trained weights into a file. final_model.save_weights('resnet_trained.h5') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠~~~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值