Made optimizations

This commit is contained in:
Nick
2019-04-06 18:15:57 -06:00
parent 00c7ce7c35
commit 28351d0c9c
12 changed files with 419 additions and 27 deletions
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
</component>
</module>
+14
View File
@@ -0,0 +1,14 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="gunicorn" />
</list>
</value>
</option>
</inspection_tool>
</profile>
</component>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (ML)" project-jdk-type="Python SDK" />
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/DM-Server.iml" filepath="$PROJECT_DIR$/.idea/DM-Server.iml" />
</modules>
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
+301
View File
@@ -0,0 +1,301 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="b68ce6d3-bf78-486c-b368-b4ce562e7242" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/generator.py" afterPath="$PROJECT_DIR$/generator.py" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="main.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="generator.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/generator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525">
<caret line="88" column="26" lean-forward="true" selection-start-line="88" selection-start-column="26" selection-end-line="88" selection-end-column="26" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="util.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/util.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="118" column="0" lean-forward="false" selection-start-line="118" selection-start-column="0" selection-end-line="118" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="inspect.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/inspect.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="1129" column="0" lean-forward="false" selection-start-line="1129" selection-start-column="0" selection-end-line="1129" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tf_inspect.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/util/tf_inspect.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="371">
<caret line="242" column="0" lean-forward="false" selection-start-line="242" selection-start-column="0" selection-end-line="242" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="function_utils.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/util/function_utils.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="55" column="0" lean-forward="false" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="estimator.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="201">
<caret line="206" column="0" lean-forward="false" selection-start-line="206" selection-start-column="0" selection-end-line="206" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ops.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/framework/ops.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="698">
<caret line="660" column="0" lean-forward="false" selection-start-line="660" selection-start-column="0" selection-end-line="660" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/generator.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="4">
<option name="x" value="75" />
<option name="y" value="24" />
<option name="width" value="1268" />
<option name="height" value="1056" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
<manualOrder />
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="DM-Server" type="b2602c69:ProjectViewProjectNode" />
<item name="DM-Server" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager">
<configuration name="generator" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="DM-Server" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/generator.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
</configuration>
<recent_temporary>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="Python.generator" />
</list>
</recent_temporary>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="b68ce6d3-bf78-486c-b368-b4ce562e7242" name="Default" comment="" />
<created>1554591743543</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1554591743543</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="75" y="24" width="1268" height="1056" extended-state="4" />
<editor active="true" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2918919" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/framework/ops.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="698">
<caret line="660" column="0" lean-forward="false" selection-start-line="660" selection-start-column="0" selection-end-line="660" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/inspect.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="1129" column="0" lean-forward="false" selection-start-line="1129" selection-start-column="0" selection-end-line="1129" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/util/tf_inspect.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="371">
<caret line="242" column="0" lean-forward="false" selection-start-line="242" selection-start-column="0" selection-end-line="242" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow/python/util/function_utils.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="55" column="0" lean-forward="false" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="201">
<caret line="206" column="0" lean-forward="false" selection-start-line="206" selection-start-column="0" selection-end-line="206" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/anaconda3/envs/ML/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/util.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="118" column="0" lean-forward="false" selection-start-line="118" selection-start-column="0" selection-end-line="118" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/generator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525">
<caret line="88" column="26" lean-forward="true" selection-start-line="88" selection-start-column="26" selection-end-line="88" selection-end-column="26" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>
Binary file not shown.
Binary file not shown.
+12 -1
View File
@@ -13,7 +13,7 @@ pos_action_starts = ["You attack", "You tell", "You use", "You go"]
class StoryGenerator():
def __init__(self, sess, length=80, temperature=0.9, top_k=40):
def __init__(self, sess, length=100, temperature=0.9, top_k=40):
seed = None
batch_size=1
@@ -65,3 +65,14 @@ class StoryGenerator():
return possible_actions
def generate_action_result(self, prompt, phrase):
action = phrase + self.generate(prompt + phrase)
action_result = cut_trailing_sentence(action)
action_result = story_replace(action_result)
action = first_sentence(action)
return action, action_result
+3 -2
View File
@@ -46,6 +46,7 @@ def server_error(e):
def story_request():
print("****Generating Story****")
prompt = request.form["prompt"] # given prompt
phrase = request.form["phrase"]
gen_actions = request.form["actions"] # given prompt
print("\n Given prompt is: \n",prompt,"\n")
@@ -53,8 +54,8 @@ def story_request():
generator = get_generator()
if gen_actions == "true":
response = generator.generate_action_options(prompt)
response = json.dumps(response)
action, result = generator.generate_action_result(prompt, phrase)
response = json.dumps([action, result])
else:
response = generator.generate_story_block(prompt)
+47 -24
View File
@@ -6,18 +6,21 @@ start_text = "<span id='a'>Adventurer@AIDungeon</span>:<span id='b'>~</span><spa
var acceptInput=false
var inputStr = ""
var blinkCounter = 0
var action_list = ["You attack", "You tell", "You use", "You go"]
var StoryTracker = {
firstStory: null,
lastStory: null,
lastAction: null,
actions: null,
actions: [],
results: [],
action_int: 0,
startPrompt: initial_prompt,
getFirstStory:function(){
console.log("Requesting first story")
Typer.appendToText(initial_prompt)
StoryTracker.requestStory(initial_prompt)
StoryTracker.requestStory(initial_prompt, "")
},
@@ -27,31 +30,49 @@ var StoryTracker = {
StoryTracker.firstStory = StoryTracker.startPrompt + story
}
StoryTracker.requestActions(StoryTracker.firstStory + StoryTracker.lastStory)
StoryTracker.makeActionRequests(StoryTracker.firstStory + StoryTracker.lastStory)
Typer.appendToText(story)
},
addNextActions:function(actions){
var actions = JSON.parse(actions)
StoryTracker.actions = actions
Typer.appendToText("\n\nOptions:")
Typer.appendToText("\n0) " + actions[0])
Typer.appendToText("\n1) " + actions[1])
Typer.appendToText("\n2) " + actions[2])
Typer.appendToText("\n3) " + actions[3])
Typer.appendToText("\nWhich action do you choose? ")
acceptInput = true
},
requestStory:function(prompt){
$.post("/generate", {actions: false, prompt},
addNextAction:function(action_result){
var action_result = JSON.parse(action_result)
action = action_result[0]
result = action_result[1]
StoryTracker.actions.push(action)
StoryTracker.results.push(result)
var print_action = "\n" + String(StoryTracker.action_int) + ") " + action
StoryTracker.action_int += 1
Typer.appendToText(print_action)
if (StoryTracker.action_int > 3){
Typer.appendToText("\nWhich action do you choose? ")
StoryTracker.action_int = 0
acceptInput = true
}
},
makeActionRequests:function(prompt){
StoryTracker.actions = []
StoryTracker.results = []
for (i = 0; i < 4; i++){
StoryTracker.requestAction(prompt, action_list[i])
}
},
requestStory:function(prompt, phrase){
$.post("/generate", {actions: false, prompt, phrase},
StoryTracker.addNextStory)
},
requestActions:function(prompt){
$.post("/generate", {actions: true, prompt},
StoryTracker.addNextActions)
requestAction:function(prompt, phrase){
$.post("/generate", {actions: true, prompt, phrase},
StoryTracker.addNextAction)
},
processInput:function(){
@@ -61,8 +82,10 @@ var StoryTracker = {
console.log("choice_int is %d", choice_int)
StoryTracker.lastAction = StoryTracker.actions[choice_int]
StoryTracker.requestStory(StoryTracker.firstStory + StoryTracker.lastStory + StoryTracker.lastAction)
StoryTracker.lastStory = StoryTracker.results[choice_int]
StoryTracker.makeActionRequests(StoryTracker.firstStory + StoryTracker.lastStory)
Typer.appendToText(StoryTracker.lastStory)
Typer.appendToText("\n\nOptions:")
}
else{
@@ -90,7 +113,7 @@ var Typer={
},
appendToText:function(str){
str = str.replace(".", "." + "<!-- laglaglaglaglaglaglag -->")
str = str.replace(".", "." + "<!-- laglaglaglaglaglaglaglaglaglag -->")
Typer.text = Typer.text + str;
},
@@ -141,7 +164,7 @@ function writeAppend(str){
function startTyping(){
addTextTimer = setInterval("typeWords()", 35)
addTextTimer = setInterval("typeWords()", 40)
}
+13
View File
@@ -65,6 +65,19 @@ def first_sentence(text):
return text
def all_but_first(text):
first_period = text.find('.')
first_exclamation = text.find('!')
if first_exclamation < first_period and first_exclamation > 0:
text = text[first_exclamation+1:]
elif first_period > 0:
text = text[first_period+1:]
else:
return text[20:]
return text
def cut_trailing_sentence(text):
last_period = text.rfind('.')