我现在正在尝试构建我的 docker 镜像我有我的 app.py:import pandas as pdfrom flask import Flask, request, render_templateimport osfrom joblib import loadMODEL_DIR = os.environ[\'MODEL...
我现在正在尝试构建我的docker镜像我有我的app.py:
import pandas as pd
from flask import Flask, request, render_template
import os
from joblib import load
MODEL_DIR = os.environ["MODEL_DIR"]
MODEL_FILE = os.environ["MODEL_FILE"]
METADATA_FILE = os.environ["METADATA_FILE"]
MODEL_PATH = os.path.join(MODEL_DIR, MODEL_FILE)
METADATA_PATH = os.path.join(MODEL_DIR, METADATA_FILE)
app = Flask(__name__)
#Loading model
clf = load(MODEL_PATH)
@app.route('/', methods=['GET', 'POST'])
def index():
result = ''
text = ''
#print(clf.predict(["I am angry"]))
if request.method == 'POST':
text = request.form.get("textTocompute")
result = clf.predict([text])
return render_template("index.html", result=result, text=text)
if __name__ == "__main__":
app.run(host='0.0.0.0')
要求.txt:flaskjoblibnumpypandasmatplotlibscikit-learn
和Dockerfile:
FROM python:3.6
WORKDIR /app
RUN mkdir ./mlsample
RUN mkdir ./mlsample/model
ENV MODEL_DIR=app/mlsample/model
ENV MODEL_FILE=clf.joblib
ENV METADATA_FILE=metadata.json
ENV FLASK_APP=app.py
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY reviewDataCleaned.csv .
COPY docker-ml.py .
RUN python ./docker-ml.py
COPY app.py .
COPY templates ./templates
EXPOSE 5000
CMD ["python", "app.py"]
我想构建这个但是我收到此错误:
[ 9/11] RUN python ./docker-ml.py:
32.42 Loading reviewDataCleaned dataset...
32.42 fitting model
32.42 Serializing model to app/mlsample/model/clf.joblib
32.42 Traceback (most recent call last):
32.42 File "./docker-ml.py", line 54, in <module>
32.42 dump(clf,MODEL_PATH)
32.42 File "/usr/local/lib/python3.6/site-packages/joblib/numpy_pickle.py", line 481, in dump
32.42 with open(filename, 'wb') as f:
32.42 FileNotFoundError: [Errno 2] No such file or directory: 'app/mlsample/model/clf.joblib'
23 | COPY docker-ml.py .
24 |
25 | >>> RUN python ./docker-ml.py
26 |
27 | COPY app.py .
--------------------
ERROR: failed to solve: process "/bin/sh -c python ./docker-ml.py" did not complete successfully: exit code: 1
我该如何修复它?
我同意。正如你写的代码一样,计算机销毁对象的速度比协程运行的速度要快一点(比如快 1 秒)。它将销毁命令置于暂停协程的命令之前(老实说,我认为协程甚至没有到达起跑线 ) 。无论发生什么,你都要在 OnTriggerEnter 中实例化命中效果。为什么不将该命令与 Destroy( x ) 一起直接放入协程中呢?如下所示:
if (other.CompareTag("Player"))
{
other.GetComponent<Player>().health -= damage;
StartCoroutine(HandleHitAnimation());
}
private IEnumerator HandleHitAnimation()
{
Instantiate(effect, transform.position, Quaternion.identity);
otherAnimator.SetBool("isHitten", true);
yield return new WaitForSeconds(1);
otherAnimator.SetBool("isHitten", false);
Destroy(gameObject);
}
看看这是否能清理干净。如果没有,请将 Destroy 命令放在一边,并在这些函数执行后从其他地方调用它。
祝你玩得开心,老兄。