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-01 22:52:25 +08:00
parent 3310cdb417
commit e90d5f499f
2 changed files with 35 additions and 22 deletions

View File

@ -1,7 +1,10 @@
<?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" />
<change beforePath="$PROJECT_DIR$/serve.py" beforeDir="false" afterPath="$PROJECT_DIR$/serve.py" 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" />
@ -45,7 +48,7 @@
<counts> <counts>
<entry key="Dockerfile" value="75" /> <entry key="Dockerfile" value="75" />
<entry key="md" value="104" /> <entry key="md" value="104" />
<entry key="py" value="2087" /> <entry key="py" value="2182" />
<entry key="sh" value="5" /> <entry key="sh" value="5" />
</counts> </counts>
</usages-collector> </usages-collector>
@ -54,7 +57,7 @@
<entry key="Bash" value="5" /> <entry key="Bash" value="5" />
<entry key="Dockerfile" value="75" /> <entry key="Dockerfile" value="75" />
<entry key="Markdown" value="104" /> <entry key="Markdown" value="104" />
<entry key="Python" value="2087" /> <entry key="Python" value="2182" />
</counts> </counts>
</usages-collector> </usages-collector>
</session> </session>
@ -76,11 +79,11 @@
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="true">
<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="164"> <state relative-caret-position="207">
<caret line="218" column="53" selection-start-line="218" selection-start-column="53" selection-end-line="218" selection-end-column="53" /> <caret line="330" column="101" selection-start-line="330" selection-start-column="47" selection-end-line="330" selection-end-column="101" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
<marker date="1588333523250" expanded="true" signature="5636:5638" ph="..." /> <marker date="1588344725125" expanded="true" signature="5630:5632" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -203,7 +206,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="1588333595786" /> <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1588342234577" />
<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" />
@ -244,15 +247,16 @@
<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="10569000" /> <workItem from="1588319878551" duration="11497000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="27542000" /> <option name="totallyTimeSpent" value="28470000" />
</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" />
<editor active="true" />
<layout> <layout>
<window_info id="Designer" order="0" /> <window_info id="Designer" order="0" />
<window_info id="UI Designer" order="1" /> <window_info id="UI Designer" order="1" />
@ -363,11 +367,11 @@
</entry> </entry>
<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="164"> <state relative-caret-position="207">
<caret line="218" column="53" selection-start-line="218" selection-start-column="53" selection-end-line="218" selection-end-column="53" /> <caret line="330" column="101" selection-start-line="330" selection-start-column="47" selection-end-line="330" selection-end-column="101" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
<marker date="1588333523250" expanded="true" signature="5636:5638" ph="..." /> <marker date="1588344725125" expanded="true" signature="5630:5632" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>

View File

@ -16,8 +16,8 @@ from io import StringIO
class Config: class Config:
feature_columns = list(range(0, 8)) feature_columns = list(range(0, 2))
label_columns = [5, 6, 7] label_columns = [1]
feature_and_label_columns = feature_columns + label_columns feature_and_label_columns = feature_columns + label_columns
label_in_feature_columns = (lambda x, y: [x.index(i) for i in y])(feature_columns, label_columns) label_in_feature_columns = (lambda x, y: [x.index(i) for i in y])(feature_columns, label_columns)
@ -148,7 +148,7 @@ def draw_yqy(config2, origin_data, predict_norm_data, mean_yqy, std_yqy):
label_column_num = 3 label_column_num = 3
loss = \ loss = \
np.mean((label_norm_data[config.predict_day:, 5:8] - predict_norm_data[:-config.predict_day]) ** 2, axis=0) np.mean((label_norm_data[config.predict_day:, 1:2] - predict_norm_data[:-config.predict_day]) ** 2, axis=0)
print("The mean squared error of stock {} is ".format(label_name), loss) print("The mean squared error of stock {} is ".format(label_name), loss)
# label_X = range(origin_data.data_num - origin_data.train_num - origin_data.start_num_in_test) # label_X = range(origin_data.data_num - origin_data.train_num - origin_data.start_num_in_test)
@ -156,8 +156,8 @@ def draw_yqy(config2, origin_data, predict_norm_data, mean_yqy, std_yqy):
print("2") print("2")
print(label_norm_data[:, 5:8]) print(label_norm_data[:, 1:2])
label_data = label_norm_data[:, 5:8] * std_yqy[5:8] + mean_yqy[5:8] label_data = label_norm_data[:, 1:2] * std_yqy[1:2] + mean_yqy[1:2]
print(label_data) print(label_data)
print(predict_norm_data) print(predict_norm_data)
@ -213,16 +213,20 @@ class MyHandler(BaseHTTPRequestHandler):
'post': 0 'post': 0
} }
data = {
'seq': query.get('job')[0],
'value': query.get('model')[0],
}
with open(config.train_data_path, 'r') as f: with open(config.train_data_path, 'r') as f:
df = pd.read_csv(config.train_data_path, df = pd.read_csv(config.train_data_path, usecols=['seq', 'value'])
usecols=['job', 'model', 'time', 'utilCPU', 'utilGPU', 'pre', 'main', 'post'])
df = df.tail(config.time_step - 1) df = df.tail(config.time_step - 1)
df = df.append(data, ignore_index=True) df = df.append(data, ignore_index=True)
df.to_csv('./data/test_data.csv', index=False) df.to_csv('./data/test_data.csv', index=False)
np.random.seed(config.random_seed) np.random.seed(config.random_seed)
data_gainer = Data(config) data_gainer = Data(config)
test_data_yqy = pd.read_csv("./data/test_data.csv", usecols=list(range(0, 8))) test_data_yqy = pd.read_csv("./data/test_data.csv", usecols=list(range(0, 2)))
test_data_values = test_data_yqy.values[:] test_data_values = test_data_yqy.values[:]
test_X = data_gainer.get_test_data_yqy(test_data_values) test_X = data_gainer.get_test_data_yqy(test_data_values)
pred_result = predict(config, test_X) pred_result = predict(config, test_X)
@ -250,12 +254,16 @@ class MyHandler(BaseHTTPRequestHandler):
main = query.get('main')[0] main = query.get('main')[0]
post = query.get('post')[0] post = query.get('post')[0]
seq = query.get('seq')[0]
value = query.get('value')[0]
with open(config.train_data_path, 'a+', newline='') as csvfile: with open(config.train_data_path, 'a+', newline='') as csvfile:
spamwriter = csv.writer( spamwriter = csv.writer(
csvfile, delimiter=',', csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL quotechar='|', quoting=csv.QUOTE_MINIMAL
) )
spamwriter.writerow([job, model, time, utilGPU, utilCPU, pre, main, post]) # spamwriter.writerow([job, model, time, utilGPU, utilCPU, pre, main, post])
spamwriter.writerow([seq, value])
msg = {'code': 1, 'error': "container not exist"} msg = {'code': 1, 'error': "container not exist"}
except Exception as e: except Exception as e:
msg = {'code': 2, 'error': str(e)} msg = {'code': 2, 'error': str(e)}
@ -319,7 +327,8 @@ if __name__ == '__main__':
csvfile, delimiter=',', csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL quotechar='|', quoting=csv.QUOTE_MINIMAL
) )
spamwriter.writerow(["job", "model", "time", "utilGPU", "utilCPU", "pre", "main", "post"]) #spamwriter.writerow(["job", "model", "time", "utilGPU", "utilCPU", "pre", "main", "post"])
spamwriter.writerow(["seq", "value"])
# Wait forever for incoming http requests # Wait forever for incoming http requests
server.serve_forever() server.serve_forever()