1
0
mirror of https://github.com/newnius/YAO-optimizer.git synced 2025-06-07 15:11:56 +00:00
This commit is contained in:
Newnius 2020-05-02 19:07:01 +08:00
parent ad8df93998
commit 89c12cd0e4
2 changed files with 47 additions and 41 deletions

View File

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="0aedafd8-e57e-462a-beda-65af0b91f3df" name="Default Changelist" comment="" /> <list default="true" id="0aedafd8-e57e-462a-beda-65af0b91f3df" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -48,7 +50,7 @@
<entry key="csv" value="9" /> <entry key="csv" value="9" />
<entry key="gitignore" value="12" /> <entry key="gitignore" value="12" />
<entry key="md" value="141" /> <entry key="md" value="141" />
<entry key="py" value="4300" /> <entry key="py" value="4313" />
<entry key="sh" value="5" /> <entry key="sh" value="5" />
</counts> </counts>
</usages-collector> </usages-collector>
@ -58,7 +60,7 @@
<entry key="Dockerfile" value="81" /> <entry key="Dockerfile" value="81" />
<entry key="Markdown" value="141" /> <entry key="Markdown" value="141" />
<entry key="PLAIN_TEXT" value="21" /> <entry key="PLAIN_TEXT" value="21" />
<entry key="Python" value="4300" /> <entry key="Python" value="4313" />
</counts> </counts>
</usages-collector> </usages-collector>
</session> </session>
@ -68,7 +70,7 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main.py"> <entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="302"> <state relative-caret-position="3315">
<caret line="221" column="26" lean-forward="true" selection-start-line="221" selection-start-column="26" selection-end-line="221" selection-end-column="26" /> <caret line="221" column="26" lean-forward="true" selection-start-line="221" selection-start-column="26" selection-end-line="221" selection-end-column="26" />
<folding> <folding>
<element signature="e#0#19#0" expanded="true" /> <element signature="e#0#19#0" expanded="true" />
@ -86,26 +88,26 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/serve.py"> <entry file="file://$PROJECT_DIR$/serve.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255"> <state relative-caret-position="1203">
<caret line="128" column="42" lean-forward="true" selection-start-line="128" selection-start-column="42" selection-end-line="128" selection-end-column="42" /> <caret line="137" column="39" selection-start-line="137" selection-start-column="39" selection-end-line="137" selection-end-column="39" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
<marker date="1588416794061" expanded="true" signature="1234:1237" ph="..." /> <marker date="1588416891694" expanded="true" signature="1234:1237" ph="..." />
<marker date="1588416794061" expanded="true" signature="3508:3510" ph="..." /> <marker date="1588416891694" expanded="true" signature="3508:3510" ph="..." />
<marker date="1588416794061" expanded="true" signature="4623:5340" ph="..." /> <marker date="1588416891694" expanded="true" signature="4628:5345" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/train.py"> <entry file="file://$PROJECT_DIR$/train.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="294"> <state relative-caret-position="127">
<caret line="46" selection-start-line="46" selection-end-line="47" selection-end-column="40" /> <caret line="40" column="10" selection-start-line="40" selection-start-column="4" selection-end-line="40" selection-end-column="10" />
<folding> <folding>
<element signature="e#0#28#0" expanded="true" /> <element signature="e#0#28#0" expanded="true" />
</folding> </folding>
@ -182,9 +184,9 @@
<option value="$PROJECT_DIR$/.gitignore" /> <option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/data/data2.csv" /> <option value="$PROJECT_DIR$/data/data2.csv" />
<option value="$PROJECT_DIR$/data/data3.csv" /> <option value="$PROJECT_DIR$/data/data3.csv" />
<option value="$PROJECT_DIR$/train.py" />
<option value="$PROJECT_DIR$/README.md" /> <option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/serve.py" /> <option value="$PROJECT_DIR$/serve.py" />
<option value="$PROJECT_DIR$/train.py" />
</list> </list>
</option> </option>
</component> </component>
@ -227,7 +229,7 @@
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1588416785953" /> <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1588417375963" />
<property name="go.gopath.indexing.explicitly.defined" value="true" /> <property name="go.gopath.indexing.explicitly.defined" value="true" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
@ -268,12 +270,12 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1588152877746</updated> <updated>1588152877746</updated>
<workItem from="1588152880522" duration="16973000" /> <workItem from="1588152880522" duration="16973000" />
<workItem from="1588319878551" duration="38314000" /> <workItem from="1588319878551" duration="38759000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="55287000" /> <option name="totallyTimeSpent" value="55732000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="1280" height="800" extended-state="0" /> <frame x="0" y="0" width="1280" height="800" extended-state="0" />
@ -377,16 +379,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="302">
<caret line="221" column="26" lean-forward="true" selection-start-line="221" selection-start-column="26" selection-end-line="221" selection-end-column="26" />
<folding>
<element signature="e#0#19#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md"> <entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT"> <state split_layout="SPLIT">
@ -407,25 +399,35 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/train.py"> <entry file="file://$PROJECT_DIR$/serve.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="294"> <state relative-caret-position="1203">
<caret line="46" selection-start-line="46" selection-end-line="47" selection-end-column="40" /> <caret line="137" column="39" selection-start-line="137" selection-start-column="39" selection-end-line="137" selection-end-column="39" />
<folding> <folding>
<element signature="e#0#28#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
<marker date="1588416891694" expanded="true" signature="1234:1237" ph="..." />
<marker date="1588416891694" expanded="true" signature="3508:3510" ph="..." />
<marker date="1588416891694" expanded="true" signature="4628:5345" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/serve.py"> <entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255"> <state relative-caret-position="3315">
<caret line="128" column="42" lean-forward="true" selection-start-line="128" selection-start-column="42" selection-end-line="128" selection-end-column="42" /> <caret line="221" column="26" lean-forward="true" selection-start-line="221" selection-start-column="26" selection-end-line="221" selection-end-column="26" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#0#19#0" expanded="true" />
<marker date="1588416794061" expanded="true" signature="1234:1237" ph="..." /> </folding>
<marker date="1588416794061" expanded="true" signature="3508:3510" ph="..." /> </state>
<marker date="1588416794061" expanded="true" signature="4623:5340" ph="..." /> </provider>
</entry>
<entry file="file://$PROJECT_DIR$/train.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="127">
<caret line="40" column="10" selection-start-line="40" selection-start-column="4" selection-end-line="40" selection-end-column="10" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>

View File

@ -21,6 +21,7 @@ import numpy
import random import random
import traceback import traceback
from keras.models import load_model from keras.models import load_model
from sklearn.externals import joblib
PORT_NUMBER = 8080 PORT_NUMBER = 8080
lock = Lock() lock = Lock()
@ -127,8 +128,9 @@ def train_models(job):
model = fit_lstm(train_trimmed, batch_size, 30, 4) model = fit_lstm(train_trimmed, batch_size, 30, 4)
model.save('./data/checkpoint-' + job) model.save('./data/checkpoint-' + job)
scaler_filename = './data/checkpoint-' + job + "-scaler.save"
joblib.dump(scaler, scaler_filename)
models[job]['scaler'] = scaler
models[job]['batch_size'] = batch_size models[job]['batch_size'] = batch_size
models[job]['lock'].release() models[job]['lock'].release()
@ -145,6 +147,8 @@ def predict(job, seq):
'value': 0, 'value': 0,
} }
model = load_model('./data/checkpoint-' + job) model = load_model('./data/checkpoint-' + job)
scaler_filename = './data/checkpoint-' + job + "-scaler.save"
scaler = joblib.load(scaler_filename)
file = './data/' + job + '.' + str(random.randint(1000, 9999)) + '.csv' file = './data/' + job + '.' + str(random.randint(1000, 9999)) + '.csv'
df = pd.read_csv('./data/' + job + '.csv', usecols=['seq', 'value']) df = pd.read_csv('./data/' + job + '.csv', usecols=['seq', 'value'])
@ -174,7 +178,7 @@ def predict(job, seq):
print(test) print(test)
test = test.reshape(test.shape[0], test.shape[1]) test = test.reshape(test.shape[0], test.shape[1])
test_scaled = models[job]['scaler'].transform(test) test_scaled = scaler.transform(test)
# forecast the entire training dataset to build up state for forecasting # forecast the entire training dataset to build up state for forecasting
test_reshaped = test_scaled[:, 0:-1] test_reshaped = test_scaled[:, 0:-1]
@ -185,7 +189,7 @@ def predict(job, seq):
yhat = output[i, 0] yhat = output[i, 0]
X = test_scaled[i, 0:-1] X = test_scaled[i, 0:-1]
# invert scaling # invert scaling
yhat = invert_scale(models[job]['scaler'], X, yhat) yhat = invert_scale(scaler, X, yhat)
# invert differencing # invert differencing
yhat = inverse_difference(raw_values, yhat, len(test_scaled) + 1 - i) yhat = inverse_difference(raw_values, yhat, len(test_scaled) + 1 - i)
# store forecast # store forecast