mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-19 23:27:46 +03:00
a25193cc5d
This is lint reported by the new lint-checking functionality in beautify.py. (We can change to a different lint checker if we have a better one, but it would probably still flag these same problems.) Lint checking can help a lot, but only if we get the lint under control.
268 lines
8.2 KiB
PHP
268 lines
8.2 KiB
PHP
<?php
|
|
|
|
function load_experiment_info() {
|
|
global $dir,$task,$user,$setup;
|
|
global $evalset;
|
|
global $experiment;
|
|
|
|
if (array_key_exists("setup",$_POST)) { $setup = $_POST["setup"]; }
|
|
if (array_key_exists("setup",$_GET)) { $setup= $_GET["setup"]; }
|
|
$all_setup = file("setup");
|
|
while (list($id,$line) = each($all_setup)) {
|
|
$info = explode(";",$line);
|
|
if ($info[0] == $setup) {
|
|
$user = $info[1];
|
|
$task = $info[2];
|
|
$dir = rtrim($info[3]);
|
|
}
|
|
}
|
|
|
|
if (file_exists($dir."/steps/new") ||
|
|
file_exists($dir."/steps/1")) {
|
|
$topd = dir($dir."/steps");
|
|
while (false !== ($run = $topd->read())) {
|
|
if (preg_match('/^([0-9]+)$/',$run,$match)
|
|
&& $run>0
|
|
&& !file_exists("$dir/steps/$run/deleted.$run")) {
|
|
$d = dir($dir."/steps/$run");
|
|
while (false !== ($entry = $d->read())) {
|
|
process_file_entry("$dir/steps/$run/",$entry);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$d = dir($dir."/steps");
|
|
while (false !== ($entry = $d->read())) {
|
|
process_file_entry($dir."/steps",$entry);
|
|
}
|
|
}
|
|
|
|
reset($experiment);
|
|
while (list($id,$info) = each($experiment)) {
|
|
if (file_exists($dir."/steps/new") ||
|
|
file_exists($dir."/steps/$id")) {
|
|
$stat = stat("$dir/steps/$id/parameter.$id");
|
|
}
|
|
else {
|
|
$stat = stat("$dir/steps/parameter.$id");
|
|
}
|
|
$experiment[$id]->start = $stat[9];
|
|
}
|
|
|
|
reset($experiment);
|
|
while (list($id,$info) = each($experiment)) {
|
|
if (file_exists("$dir/evaluation/report.$id")) {
|
|
$f = file("$dir/evaluation/report.$id");
|
|
foreach ($f as $line_num => $line) {
|
|
if (preg_match('/^(.+): (.+)/',$line,$match)) {
|
|
$experiment[$id]->result[$match[1]] = $match[2];
|
|
if (!$evalset || !array_key_exists($match[1],$evalset)) {
|
|
$evalset[$match[1]] = 0;
|
|
}
|
|
$evalset[$match[1]]++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
krsort($experiment);
|
|
uksort($evalset,"evalsetsort");
|
|
}
|
|
|
|
function evalsetsort($a,$b) {
|
|
if ($a == "avg") { return -1; }
|
|
if ($b == "avg") { return 1; }
|
|
return strcmp($a,$b);
|
|
}
|
|
|
|
function load_parameter($run) {
|
|
global $dir;
|
|
if (file_exists($dir."/steps/new") ||
|
|
file_exists($dir."/steps/$run")) {
|
|
$file = file("$dir/steps/$run/parameter.$run");
|
|
}
|
|
else {
|
|
$file = file("$dir/steps/parameter.$run");
|
|
}
|
|
while (list($i,$line) = each($file)) {
|
|
if (preg_match("/^(\S+) = (.+)$/",$line,$match)) {
|
|
$parameter[$match[1]] = $match[2];
|
|
}
|
|
}
|
|
return $parameter;
|
|
}
|
|
|
|
function load_comment() {
|
|
global $comment;
|
|
$file = file("comment");
|
|
while (list($i,$line) = each($file)) {
|
|
$line = chop($line);
|
|
$item = explode(";",$line,4);
|
|
$comment[$item[0]]->name = $item[1];
|
|
// $comment[$item[0]]->url = $item[2];
|
|
// $comment[$item[0]]->description = $item[3];
|
|
}
|
|
}
|
|
|
|
function process_file_entry($dir,$entry) {
|
|
global $experiment;
|
|
if (preg_match('/running.(\d+)/',$entry,$match)) {
|
|
$stat = stat($dir."/".$entry);
|
|
$experiment[$match[1]]->end = $stat[9];
|
|
}
|
|
else if (preg_match('/^([A-Z\-]+)_([^\.]+)\.(\d+)$/',$entry,$match)) {
|
|
$step = $match[1]."<BR>".$match[2];
|
|
$run = $match[3];
|
|
if ($run > 0 ) {
|
|
$file = $dir.$entry;
|
|
$stat = stat($file);
|
|
if (file_exists($file.".STDERR")) { $stat = stat($file.".STDERR"); }
|
|
if (file_exists($file.".STDOUT")) { $stat2 = stat($file.".STDOUT"); }
|
|
if ($stat2[9] > $stat[9]) { $stat = $stat2; }
|
|
$time = $stat[9];
|
|
|
|
if (!$experiment || !array_key_exists($run,$experiment) ||
|
|
!property_exists($experiment[$run],"last_step_time") ||
|
|
$time > $experiment[$run]->last_step_time) {
|
|
$experiment[$run]->last_step_time = $time;
|
|
$experiment[$run]->last_step = $step;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function get_analysis_version($dir,$set,$id) {
|
|
global $analysis_version;
|
|
if ($analysis_version
|
|
&& array_key_exists($id,$analysis_version)
|
|
&& array_key_exists($set,$analysis_version[$id])) {
|
|
#reset($analysis_version[$id][$set]);
|
|
#print "$id,$set ( ";
|
|
#while(list($type,$i) = each($analysis_version[$id][$set])) {
|
|
# print "$type=$i ";
|
|
#}
|
|
#print ") FROM CACHE<br>";
|
|
return $analysis_version[$id][$set];
|
|
}
|
|
$analysis_version[$id][$set]["basic"] = 0;
|
|
$analysis_version[$id][$set]["biconcor"] = 0;
|
|
$analysis_version[$id][$set]["coverage"] = 0;
|
|
$analysis_version[$id][$set]["precision"] = 0;
|
|
$prefix = "$dir/evaluation/$set.analysis";
|
|
|
|
# produced by the run itself ?
|
|
if (file_exists("$prefix.$id/summary")) {
|
|
$analysis_version[$id][$set]["basic"] = $id;
|
|
}
|
|
if (file_exists("$prefix.$id/input-annotation")) {
|
|
$analysis_version[$id][$set]["coverage"] = $id;
|
|
}
|
|
if (file_exists("$prefix.$id/precision-by-input-word")) {
|
|
$analysis_version[$id][$set]["precision"] = $id;
|
|
}
|
|
if (file_exists("$dir/model/biconcor.$id")) {
|
|
$analysis_version[$id][$set]["biconcor"] = $id;
|
|
}
|
|
|
|
# re-use ?
|
|
if (file_exists("$dir/steps/$id/re-use.$id")) {
|
|
$re_use = file("$dir/steps/$id/re-use.$id");
|
|
foreach($re_use as $line) {
|
|
if (preg_match("/EVALUATION:(.+):analysis (\d+)/",$line,$match) &&
|
|
$match[1] == $set &&
|
|
file_exists("$prefix.$match[2]/summary")) {
|
|
$analysis_version[$id][$set]["basic"] = $match[2];
|
|
}
|
|
else if (preg_match("/EVALUATION:(.+):analysis-coverage (\d+)/",$line,$match) &&
|
|
$match[1] == $set &&
|
|
file_exists("$prefix.$match[2]/input-annotation")) {
|
|
$analysis_version[$id][$set]["coverage"] = $match[2];
|
|
}
|
|
else if (preg_match("/EVALUATION:(.+):analysis-precision (\d+)/",$line,$match) &&
|
|
$match[1] == $set &&
|
|
file_exists("$prefix.$match[2]/precision-by-input-word")) {
|
|
$analysis_version[$id][$set]["precision"] = $match[2];
|
|
}
|
|
else if (preg_match("/TRAINING:build-biconcor (\d+)/",$line,$match) &&
|
|
file_exists("$dir/model/biconcor.$match[1]")) {
|
|
$analysis_version[$id][$set]["biconcor"] = $match[1];
|
|
}
|
|
}
|
|
}
|
|
|
|
# legacy stuff below...
|
|
if (file_exists("$dir/steps/$id/REPORTING_report.$id")) {
|
|
$report = file("$dir/steps/$id/REPORTING_report.$id.INFO");
|
|
foreach ($report as $line) {
|
|
if (preg_match("/\# reuse run (\d+) for EVALUATION:(.+):analysis$/",$line,$match) &&
|
|
$match[2] == $set) {
|
|
if (file_exists("$prefix.$match[1]/summary")) {
|
|
$analysis_version[$id][$set]["basic"] = $match[1];
|
|
}
|
|
}
|
|
if (preg_match("/\# reuse run (\d+) for EVALUATION:(.+):analysis-coverage/",$line,$match) &&
|
|
$match[2] == $set) {
|
|
if (file_exists("$prefix.$match[1]/input-annotation")) {
|
|
$analysis_version[$id][$set]["coverage"] = $match[1];
|
|
}
|
|
}
|
|
if (preg_match("/\# reuse run (\d+) for EVALUATION:(.+):analysis-precision/",$line,$match) &&
|
|
$match[2] == $set) {
|
|
if (file_exists("$prefix.$match[1]/precision-by-input-word")) {
|
|
$analysis_version[$id][$set]["precision"] = $match[1];
|
|
}
|
|
}
|
|
if (preg_match("/\# reuse run (\d+) for TRAINING:biconcor/",$line,$match)){
|
|
if (file_exists("$dir/model/biconcor.$match[1]")) {
|
|
$analysis_version[$id][$set]["biconcor"] = $match[1];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#print "$id,$set ( ";
|
|
#reset($analysis_version[$id][$set]);
|
|
#while(list($type,$i) = each($analysis_version[$id][$set])) {
|
|
# print "$type=$i ";
|
|
#}
|
|
#print ") ZZ<br>";
|
|
return $analysis_version[$id][$set];
|
|
}
|
|
|
|
function get_precision_analysis_version($dir,$set,$id) {
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return $version["precision"];
|
|
}
|
|
|
|
function get_basic_analysis_version($dir,$set,$id) {
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return $version["basic"];
|
|
}
|
|
|
|
function get_coverage_analysis_version($dir,$set,$id) {
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return $version["coverage"];
|
|
}
|
|
|
|
function get_biconcor_version($dir,$set,$id) {
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return $version["biconcor"];
|
|
}
|
|
|
|
function get_analysis_filename($dir,$set,$id,$type,$file) {
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return "$dir/evaluation/$set.analysis.".$version[$type]."/".$file;
|
|
}
|
|
|
|
function get_current_analysis_filename($type,$file) {
|
|
global $dir,$set,$id;
|
|
$version = get_analysis_version($dir,$set,$id);
|
|
return "$dir/evaluation/$set.analysis.".$version[$type]."/".$file;
|
|
}
|
|
|
|
function get_current_analysis_filename2($type,$file) {
|
|
global $dir,$set,$id2;
|
|
$version = get_analysis_version($dir,$set,$id2);
|
|
return "$dir/evaluation/$set.analysis.".$version[$type]."/".$file;
|
|
}
|