Language
한국어

flask 는 기본적으로 tensorflow에 포함되어 있는 듯 하다.


아래 코드로 4_softmax.py 를 실행시킬 때, 외부 인자를 받아서 prediction 할 값을 배열로 처리할 수 있다.


from flask import Flask

import subprocess

from flask import request

app = Flask(__name__)


@app.route('/')

def hello_world():

    arg = "4_softmax.py " + request.args.get('arg')

    

    p = subprocess.Popen(arg , stdout=subprocess.PIPE, shell=True)

 

## Talk with date command i.e. read data from stdout and stderr. Store this info in tuple ##

    (output, err) = p.communicate()

    

## Wait for date to terminate. Get return returncode ##

    #p_status = p.wait()

    #print ("Command output : ", output)

    #print ("Command exit status/return code : ", p_status)

    return output

if __name__ == '__main__':

app.run(host='0.0.0.0',port=8000)



8000번 포트로 ~/?arg=1 8 2


로 호출하면, get parameter를 배열로 넣어 예측이 필요한 값을 지정할 수 있다.

sys를 임포트 해주고, X 에 들어가는 인자에서 파일명에 해당하는 첫번째 인자를 제거 후 2중 배열로 처리한다.


출력은 prediction 값은 제하고 arg_max에 의한 값만 return 하도록 했다.


import sys


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    del sys.argv[0]

    

    prediction = sess.run(hypothesis, feed_dict={X: [sys.argv]})

    print (sess.run(tf.arg_max(prediction, 1)[0]))