亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        結合Python的分析化學參數(shù)提取自動化

        2018-07-19 03:12:18王海燕崔文超馬海龍
        吉林大學學報(理學版) 2018年4期
        關鍵詞:線程實例人工

        王海燕, 崔文超, 李 闖, 馬海龍

        (1. 吉林師范大學 計算機學院, 吉林 四平 136000; 2. 吉林大學 理論化學研究所, 理論計算化學實驗室, 長春 130021;3. 銳曼智能裝備有限公司, 廣東 深圳 518057)

        Python[1]是一種面向對象的解釋型計算機程序設計語言, 其源代碼和解釋器CPython遵循 GPL協(xié)議. 由于Python語言的語法簡潔清晰, 且具有豐富及強大的庫, 因此常被用于計算機相關的交叉學科研究中. Python也稱為膠水語言, 因其能把用其他語言制作的各種模塊(尤其是C/C++)輕松地聯(lián)結在一起. Python常見的一種應用情形是快速生成程序的原型甚至是程序的最終界面.

        分析化學的主要任務是鑒定物質的化學組成, 測定物質有關組分的含量, 確定物質的結構和存在形態(tài)及其與物質性質間的關系等, 主要包括定性分析、定量分析及結構和立體分析[2-3]. 在實現(xiàn)理論化學分析過程中, 經常需要提取[4-5]一些必要的參數(shù)進行輔助分析, 通常這些參數(shù)的獲取都是人工進行干預的, 而實際情況下, 一些不確定因素會影響人工操作, 如人工輸入的誤差、人員脫離計算機的時間浪費等, 導致參數(shù)提取效率低下. 此外, 理論化學中數(shù)據(jù)的分析有時是指數(shù)級的, 人工操作效率低下.

        針對上述問題, 本文將化學分析參數(shù)提取與Python實現(xiàn)自動化相結合, 提出一種自動化參數(shù)提取算法Wfnauto. 該算法借助Python中列表生成技術和線程模擬技術, 依次自動化提取所需參數(shù), 規(guī)避了手工輸入的誤差以及人員脫離計算機的各種時間浪費. 為說明自動化Wfnauto算法的優(yōu)勢, 本文針對幾類代表性wfn文件進行實驗測試. 為說明算法的效率提升作用, 實驗中將代表性wfn文件實例以不同數(shù)量為基數(shù)分成多個群組, 群組基數(shù)分別為1,5,10,20,40. 分別在手工狀態(tài)和自動化狀態(tài)下進行參數(shù)提取操作, 選取的實例均真實有效. 將這兩種方法的求解效率進行對比的實驗測試結果表明了自動化參數(shù)提取算法的優(yōu)勢, 進而證明Wfnauto算法能有效提升理論化學中數(shù)據(jù)分析的效率.

        1 自動化參數(shù)提取算法

        在理論化學分析過程中, 有些計算數(shù)值是指數(shù)級的, 人工完成化學參數(shù)的提取, 會基于人工特性, 摻雜許多不確定的因素, 且各提取過程的銜接部分也會因人工的參與而浪費大量時間. 如在執(zhí)行multiwfn的過程后, 會根據(jù)提示輸入選擇計算的內容, 此時人員如脫離計算機, 計算機將接收不到任何指令, 只能等待, 導致極大的時間浪費. 因此, 參數(shù)提取的自動化[7]成為亟待解決的問題. 一方面, 讓機器自動完成路徑及文件名的預處理; 另一方面, 實現(xiàn)參數(shù)提取及錄入的自動化.

        1.2 自動化參數(shù)提取算法設計 通常情況下, 理論化學問題中的人工參數(shù)提取過程為: 首先, 確定欲處理的wfn文件, 并對其進行初始化; 然后, 依次在路徑中找到這些wfn文件, 通過執(zhí)行固定程序, 人工選擇欲提取的參數(shù). 如固體物質的生成焓問題, 要提取總表面積、表面正電勢、表面負電勢等參數(shù). 常規(guī)的人工參數(shù)提取過程的框架描述如下, 循環(huán)n次執(zhí)行.

        1) 初始化wfn文件;

        2) 運行multiwfn程序提取參數(shù)值;

        3) 手工輸入預處理文件路徑及文件名;

        4) 提取過程中手工輸入欲提取參數(shù);

        5) 將結果輸出到屏幕.

        顯然, 人工參數(shù)提取過程需要不斷地人為參與, 從路徑和文件名的確定到提取參數(shù)的指定, 都需要不斷與計算機交互. 假設操作人員無人為錯誤, 也不會疲倦, 則這種不斷交互提取的方式也亟待改變. 要實現(xiàn)去除銜接時間外更進一步的效率提升, 必須實現(xiàn)過程的自動化. Python中的列表生成技術和線程模擬技術恰好可實現(xiàn)此目的. 基于該技術的自動化參數(shù)提取算法Wfnauto框架描述如下:

        1) 導入存放路徑配置文件;

        2) 運行multiwfn程序提取參數(shù)值;

        3) 將結果輸出到文件.

        Wfnauto算法的執(zhí)行過程如圖1所示. 1) 首先確定相關實例文件路徑, 并引入存放在固定路徑下的配置文件; 其次獲得當前目錄下所有后綴為wfn的實例文件; 2) 由于需要依次處理相關文件, 所以借助Python“列表生成式”生成預處理實例文件列表; 3) 循環(huán)遍歷所有文件, 依次提取欲處理參數(shù); 4) 在依次處理完相應文件后, 打開存放輸出結果的輸出文件, 如果沒有此文件, 則算法會自動創(chuàng)建; 5) 借助調用線程模擬調用Multiwfn程序, 并把輸出結果存到剛打開的文件中; 6) 在線程結束后關閉相應文件.

        圖1 Wfnauto算法過程Fig.1 Process of Wfnauto algorithm

        2 人工方法與自動化方法實驗比對

        為證明Wfnauto自動化參數(shù)提取方法的優(yōu)越性, 本文將其與人工參數(shù)提取方法進行對比. 實驗環(huán)境如下: 在Pentium(R) Dual-Core處理器E6700的Lenovo機上完成, 主頻為3.20 GHz, 內存為2.00 GB.

        將所有實例文件分成不同個數(shù)的組, 一方面觀察組內相同數(shù)量時, 自動化參數(shù)提取方法Wfnauto較人工參數(shù)提取方法的優(yōu)勢; 另一方面觀察每組數(shù)量變化情況下, 自動化參數(shù)提取方法Wfnauto自身的變化規(guī)律. 實驗過程針對理論化學研究中常用的40個wfn實例文件對象進行統(tǒng)計分析, 選擇下列典型實例: 2-pyridoxine_2-aminopyridine.wfn,Al.wfn,acetic_acid.wfn,acrolein.wfn和Ar.wfn等. 所有實驗均在同一臺機器上完成. 考察CPU運行時間(單位ms)[8], 并對效率提升比例進行分析.

        本文假設人工參數(shù)提取實驗是在操作人員不離開計算機的前提下, 即設定為“零間隔浪費”的人工執(zhí)行提取操作, 實際情況下會有間隔浪費, 執(zhí)行時間遠大于表中人工提取時間.

        2.1 組內相同數(shù)量比較 本文實驗依次將40個問題實例劃分為不同個數(shù)的組, 在此基礎上, 觀察組內數(shù)量相同時, 自動化參數(shù)提取方法Wfnauto較人工參數(shù)提取方法的優(yōu)勢. 首先選擇將問題實例5個一組進行比較, 計算問題執(zhí)行的CPU運行時間, 對比每組中5個實例人工方法運行時間總和與自動化方法運行時間總和的差別. 為降低誤差, 實驗選擇6次測試的平均值, 比較結果列于表1.

        表1 每組5個實例時兩種算法運行時間(ms)的比較

        由表1可見, 每組實例的自動化參數(shù)提取方法均比人工參數(shù)提取方法在時間效率上有大幅度提升. 這主要是因為Wfnauto借助Python列表生成式羅列生成相關列表, 過程中通過isfile的判斷, 將listdir中的文件類型鎖定為wfn, 然后借助線程subprocess自動化模擬參數(shù)提取的過程, 這里線程處理的對象是join(Python中communicate的處理對象). 這些技術使參數(shù)的提取準確而快速, 與人工參數(shù)提取方法相比顯然有更大優(yōu)勢.

        8組實例的效率提升百分數(shù)如圖2所示. 由圖2可見, 每組實例的提升效率均在15%以上, 平均效率提升為24.09%. 表明引入自動化參數(shù)提取方法顯著提升了分析化學參數(shù)提取的效率, 且該提升值還未考慮人工參數(shù)提取方法人員浪費的時間, 即假設操作人員在無縫時間銜接的方式下工作, 顯然這種浪費是不可避免的, 實際的效率提升百分數(shù)還要更高.

        為進一步證明自動化參數(shù)提取過程的效率提升作用, 組內繼續(xù)擴大實驗數(shù)量, 選取10個實例一組進行實驗, 兩種方法所用時間對比結果如圖3所示. 由圖3可見, 在每組10個實例的情況下, 自動化參數(shù)提取方法Wfnauto比人工參數(shù)提取方法用時顯著縮短, 再次證明了Wfnauto算法的優(yōu)勢.

        圖2 效率提升百分數(shù)比較Fig.2 Comparison of percentage of efficiency promotion

        圖3 每組10個實例時兩種方法的運行時間對比Fig.3 Comparison of running time of two algorithms in each group of 10 instances

        圖4 不同數(shù)量分組效率比較Fig.4 Efficiency comparison of different number of groups

        2.2 組內不同數(shù)量比較 將每組10個實例文件的Wfnauto執(zhí)行結果與每組5個實例的Wfnauto執(zhí)行結果進行對比, 結果如圖4所示. 由圖4可見, 每組10個實例高于每組5個實例的平均效率提升能力, 即在Wfnauto算法下, 隨著分組內實例文件個數(shù)的增多, 自動化參數(shù)提取方法自身效率不斷提升. 這是由于組內實例文件數(shù)量的增多, 促使線程內單批處理能力增強, 進而使總體提取時間縮短、效率提升幅度更大.

        綜上所述, 本文提出了一種自動化參數(shù)提取算法Wfnauto, 算法借助Python的列表生成技術和線程模擬技術, 顯著提高了參數(shù)的提取效率.

        猜你喜歡
        線程實例人工
        人工3D脊髓能幫助癱瘓者重新行走?
        軍事文摘(2022年8期)2022-11-03 14:22:01
        人工,天然,合成
        人工“美顏”
        哈哈畫報(2021年11期)2021-02-28 07:28:45
        淺談linux多線程協(xié)作
        新型多孔鉭人工種植牙
        完形填空Ⅱ
        完形填空Ⅰ
        Linux線程實現(xiàn)技術研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        JAVA多線程同步解決生產者—消費者問題
        亚洲av少妇高潮喷水在线| 国产香蕉尹人综合在线观| 99RE6在线观看国产精品| 亚洲长腿丝袜中文字幕| 天天躁夜夜躁狠狠是什么心态| 久久久国产精品va麻豆| 少妇人妻偷人精品视蜜桃| 精品亚洲少妇一区二区三区| 国产超碰在线91观看| 久久国产成人精品av| 亚洲国产另类久久久精品黑人| 免费高清日本中文| 搞黄色很刺激的网站二区| 免费a级毛片高清在钱| 无码国产精品一区二区高潮| 欧美高清视频一区| 免费女女同黄毛片av网站| 九九在线中文字幕无码| 免费观看又色又爽又黄的韩国| 国产精品久久中文字幕第一页| 成人性生交大片免费看激情玛丽莎| 无码少妇丰满熟妇一区二区| 午夜精品久久久久成人| 久久精品成人91一区二区 | 亚洲女人毛茸茸的视频| 中文字幕亚洲综合久久| 久久午夜无码鲁丝片直播午夜精品 | 亚洲精品98中文字幕 | 柠檬福利第一导航在线| 级毛片免费看无码| 日产一区一区三区区别| 九九影院理论片私人影院| av蓝导航精品导航| 91精品在线免费| 国产精品日韩av一区二区三区| 免费a级毛片18以上观看精品| 免费观看国产精品| 蜜桃在线观看免费高清| 亚洲综合国产成人丁香五月激情 | 国产在线精品亚洲视频在线| 亚洲人不卡另类日韩精品|