项目实训-智能生物序列分析平台-后端模块(3)

本文讨论了在智能生物序列分析平台项目中,如何设计后端模块。主要对比了通过Java调用Python主函数和调用不同Python函数文件的优缺点,并提出了结合两种方式的解决方案。文中详细阐述了参数处理、工作准备、URL设置、目录管理和与后端通信的过程。同时,介绍了针对训练和挖掘两个主要模式的判断和执行策略。
摘要由CSDN通过智能技术生成

主函数代码

main代码的总结

server_use函数

首先要讲清楚server_use的使用情况,因为我们的python文件全部部署在服务器上的,所以在很多情况下我们要用java直接调用我们的主函数,但是由于主函数有很多参数需要进一步的修改,所以需要传入一个字符串,然后由python解析,提取自己所需要的参数。

说实话,一开始这样写觉得还行,后来感觉其实写的有点问题,我认为python和后端的连接总共可以给出三种方式

  1. 用java调一个python的主函数。所有的参数都传到这个主函数里面,一方面,接口比较简单那,但是相当于把java对参数的处理转移给了python端
  2. 用java分别调用不同的python函数文件。这样能够让每个python文件各取所需,不仅能够比较方便的处理和完成任务,而且也利于函数文件之间的耦合性,不过缺点就是java要处理的数据量大大增加了。
  3. 直接用python写后端,从此再无命令行调用(笑)。

综上,由于我们的后端较为繁忙,可能没有太多时间处理我们这个项目,所以,我们一开始就采用了1方案,但是在写的过程中,函数量以及参数大大增加了我们python端的负担,后来我们借鉴了一些其他server的搭建,发现2也是很好用的模式。总的来说,应该大大的方向改用2,小的细致末节用1,这样可以一方面增加程序的利用率,同时让程序变得更加健壮和可靠。

def server_use():
    os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
    model_all = ["DNN", "RNN", "LSTM", "BiLSTM", "LSTMAttention", "GRU", "TextCNN", "TextRCNN", "VDCNN", "RNN_CNN",
                 "TransformerEncoder", "Reformer_Encoder", "Performer_Encoder", "Linformer_Encoder",
                 "RoutingTransformer_Encoder", "6mer_DNAbert", "prot_bert", "TextGCN"]
    para_all = ["CDHit", "Focalloss", "adversialtraining"]
    CDHit_all = [0.8, 0.6, 0.4]
    # Focalloss_all = [0, 1]
    # adversialtraining_all = [0,1]

    # RNA_model = ["TransformerEncoder", "TextCNN", "LSTM", "GCN"]
    # prot_model = ["prot_bert", "TransformerEncoder", "TextCNN", "LSTM", "GCN"]

首先我们先确立一些基本使用的参数量,如model_all模型使用的名字,para_all要比较参数的选项,CDHit_all CD-Hit要用到的参数选项。

注意到这里我们统一编码了所有模型的名称,一开始我们想要分别编码的,但是考虑到代码的参数量和循环判断要进一步缩减,所以我们还是补上了统一编码的方式。


    requests_url = "http://server.wei-group.net/biology/job/status/update"
    os.chdir("/home/weilab/molecular_analysis_server/biology_python/main")
    # print(sys.argv[2])
    # print(type(sys.argv[2]))
    setting 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值