复现论文DRL代码程序

复现论文第一步(以DRL为例),download 代码 and then 创建环境。

1)git clone GitHub - foolwood/DRL: [arXiv22] Disentangled Representation Learning for Text-Video Retrieval姑且称之为克隆法,但是习惯于直接下载:

然后在pycharm中打开就是Files→Setting→project structure: Add Content Root选择下载好的代码位置就好,就可以看到代码啦~

2)pycharm 创建环境步骤:

cd DRL conda create -n drl python=3.9 这时环境就创建好啦pycharm interpreter就可以选择conda下的:

conda activate drl 激活环境进入drl

配置环境时可能存在一些问题,比如说create 环境后,conda activate无效

解决方法是:source activate

source deactivate

安装一些列的包:

pip install -r requirements.txt -i Simple Index pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 -f https://download.pytorch.org/whl/torch_stable.html

第二步加载模型数据集(就复制粘贴就好):

第三步是GitHub中写的Fine-tuning code

运行中遇到的问题有:

在网上查到的是说gpu使用的问题:可以通过命令 “nvidia-smi”查看gpu使用情况看看空出来的是几号,就把

 等号后面改成空闲的区。改完后又有这个错误,呜呜呜,然后发现一篇宝藏

pytorch 使用指定的GPU RuntimeError: CUDA error: invalid device ordinal_城俊BLOG的博客-CSDN博客解释很多这个原因,对于DRL的代码而言,应用了四块gpu(0,1,2,3)其中--nproc_per_node=4指定了该节点启动三个进程,所以在改指定的gpu之后还要把对应的进程数改掉就可以了!

还遇到了cd进不去带空格文件夹的情况,然后发现cd file\ hhh就可以了,就是要在文件名中的空格前加入“\”符号,告知并非其他操作就可以进去了

Finetuning Code中写道

有的时候Debug可能会出现一些问题比如说参数未设置,环境有问题?launch之类的,第一行可以直接写在main.py中

os.environ["CUDA_VISIBLE_DEVICES"]="0,1,2"

+

借鉴如下:

torch.distributed.init_process_group卡死_Y_shh的博客-CSDN博客_distributed.init_process_group

在train的时候遇到了KeyError的错误,是在dict中找不到该键值,仔细查找改为实际的键值

RuntimeError: CUDA out of memory.

此时应该减小batchsize的大小。

然后就可跑啦!!!

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
DRL是指深度强化学***算法。最近,DRL算法在解决具有共同特征的调度问题方面提供了一种可扩展的方法。虽然一些基于学习的工作已经尝试解决其他类型的组合优化问题,例如旅行推销员问题(TSP)和车辆路线问题(VRP),但尚不清楚DRL是否已经被应用于研究复杂的调度问题,例如柔性作业车间调度问题(FJSP)。因此,有学者开始开发基于学习的方法来解决FJSP这类复杂的调度问题。 在相关的研究中,有一份贪婪算法的Matlab代码手稿被用来模拟"Distributed Dynamic MISO Downlink-Beamforming Coordination"。该代码已经发表在IEEE Transactions on Communications上,并可以用于运行模拟程序和绘制图形。 通常情况下,强化学习代理根据以下步骤与环境进行交互:首先,代理接收当前的状态(st)并选择一个操作(at)。然后,根据每个时间步的状态转移到下一个状态(st+1)并获得相应的奖励(rt)。在传统的强化学习设置中,操作(at)是从操作空间中选择的。然而,在FJSP中,研究者们构建了一个分层多动作空间,其中包括作业操作动作空间和机器操作动作空间。在每个时间步,强化学习代理先从其符合条件的作业操作空间中选择一个作业操作,然后再从其兼容的机器操作空间中为所选的作业操作选择一个机器操作。这样的分层结构动作空间可以更好地应用于FJSP这类问题。 综上所述,DRL是一种基于深度学习的强化学习方法,它为解决调度问题提供了一种可扩展的方法。在研究中,已经有学者使用Matlab编写了贪婪算法的代码手稿,用来模拟分布式动态MISO下行波束形成协调问题。而针对柔性作业车间调度问题(FJSP),研究者们构建了分层多动作空间,以更好地应用强化学习算法解决FJSP这类复杂的调度问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于多动作深度强化学习的柔性车间调度研究(Matlab代码实现)](https://blog.csdn.net/weixin_61181717/article/details/128994943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [matlab贪婪算法代码-DRL_for_DDBC:提交给IEEETransactionsonCommunications的手稿“DeepRe](https://download.csdn.net/download/weixin_38690545/19580888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值