⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joonejob.java

📁 jooneDTE的源码
💻 JAVA
字号:
package org.joone.dte;import net.jini.space.JavaSpace;import org.tiling.computefarm.AbstractJob;import org.joone.net.NeuralNet;import java.util.*;import java.io.*;public class JooneJob extends AbstractJob {        private TaskFactory taskFactory;    private String saveFolder = null;    private OutputStream logStream = null;    private String name = "";    private int numTasks = 0;    private StopCondition control;    private Selector selector;        public JooneJob() {    }        public synchronized void generateTasks(JavaSpace javaSpace) {        numTasks = 0;        sendReloadClassesSignal(javaSpace);        System.out.println("----1");        NeuralNet net = taskFactory.getNextTask();        while (net != null) {            writeTask(javaSpace, new NetTaskEntry(net.cloneNet()));            System.out.println("----2");            ++numTasks;            net = taskFactory.getNextTask();        }        notifyAll();    }        public synchronized void collectResults(JavaSpace javaSpace) {        // Waits until all the task are written        System.out.println("----3");        try {            while (numTasks == 0) {                System.out.println("----4");                wait();            }        } catch (InterruptedException ie) { return; }                System.out.println("----5");        DataOutput log = null;        try {            logStream = new FileOutputStream(getLogName());            log = new DataOutputStream(logStream);            if (log != null) {                log.writeBytes("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");                log.writeBytes("<!DOCTYPE beans PUBLIC \"-//SPRING//DTD BEAN//EN\" \"http://www.springframework.org/dtd/spring-beans.dtd\">\n");                log.writeBytes("<beans>\n");                log.writeBytes("<bean id=\""+getName()+"\" class=\"org.joone.dte.TaskList\">\n");                log.writeBytes("<property name=\"tasks\">\n");                log.writeBytes("\t<list>\n");            }            // Collects the results from JavaSpace            for (int i = 0; i < numTasks; i++) {                NeuralNet result = (NeuralNet)takeResult(javaSpace);                // write serialized result to file                System.out.print("Received net: "+getName()+"-"+(i+1));                File resultFile = new File(saveFolder,getName()+"_#p"+(i+1)+".snet");                FileOutputStream stream = new FileOutputStream(resultFile);                ObjectOutput output = new ObjectOutputStream(stream);                output.writeObject(result);                System.out.println(" - Written to: "+resultFile.getAbsolutePath());                                //write to log file                if (log != null) {                    log.writeBytes("\t\t<bean class=\"org.joone.dte.TaskDescriptor\">\n");                    log.writeBytes("\t\t\t<property name=\"netName\"><value>"+result.getLayerName()+"</value></property>\n");                    log.writeBytes("\t\t\t<property name=\"netFile\"><value>"+resultFile.getAbsolutePath()+"</value></property>\n");                    log.writeBytes("\t\t\t<property name=\"trainingRmse\"><value>"+result.getDescriptor().getTrainingError()+"</value></property>\n");                    log.writeBytes("\t\t\t<property name=\"validationRmse\"><value>"+result.getDescriptor().getValidationError()+"</value></property>\n");                    log.writeBytes("\t\t\t<property name=\"date\"><value>"+new Date().toString()+"</value></property>\n");                    log.writeBytes("\t\t</bean>\n");                }            }            if (log != null) {                log.writeBytes("\t</list>\n");                log.writeBytes("</property>\n");                log.writeBytes("</bean>\n");                log.writeBytes("</beans>");            }        } catch (Exception e) {            System.err.println("JooneJob:collectResults:Job aborted due to exception:");            e.printStackTrace();        }    }        protected String getLogName() {        return saveFolder+"log"+name+".xml";    }    /**     * Getter for property name.     * @return Value of property name.     */    public java.lang.String getName() {        return name;    }        /**     * Setter for property name.     * @param name New value of property name.     */    public void setName(java.lang.String name) {        this.name = name;    }        /**     * Getter for property taskFactory.     * @return Value of property taskFactory.     */    public org.joone.dte.TaskFactory getTaskFactory() {        return taskFactory;    }        /**     * Setter for property taskFactory.     * @param taskFactory New value of property taskFactory.     */    public void setTaskFactory(org.joone.dte.TaskFactory taskFactory) {        this.taskFactory = taskFactory;        if (taskFactory != null)            taskFactory.initialize();        numTasks = 0;    }        /**     * Getter for property saveFolder.     * @return Value of property saveFolder.     */    public java.lang.String getSaveFolder() {        return saveFolder;    }        /**     * Setter for property saveFolder.     * @param saveFolder New value of property saveFolder.     */    public void setSaveFolder(java.lang.String saveFolder) {        this.saveFolder = saveFolder;    }        /**     * Getter for property control.     * @return Value of property control.     */    public StopCondition getControl() {        return control;    }        /**     * Setter for property control.     * @param control New value of property control.     */    public void setControl(StopCondition control) {        this.control = control;    }        /**     * Getter for property selector.     * @return Value of property selector.     */    public org.joone.dte.Selector getSelector() {        return selector;    }        /**     * Setter for property selector.     * @param selector New value of property selector.     */    public void setSelector(org.joone.dte.Selector selector) {        this.selector = selector;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -