小编han*_*zgs的帖子

Tornado 6.0.3 from 4.2: 模块“tornado.web”没有属性“asynchronous”

我已从 tornado 4.2 转移到 tornado 6.0.3,出现错误

AttributeError: 模块 'tornado.web' 没有属性 'asynchronous'

根据tornado v6 中的讨论,似乎已经删除了 tornado.web.asynchronous 协程。在代码中解决这个问题的任何不同方法?

我把@tornado.web.asynchronous 改成@tornado.gen.coroutine,那是固定的,接下来我得到了

运行时错误:完成()后无法写入()

根据运行时错误:在完成()之后无法写入()。可能是由于使用没有 @asynchronous 装饰器的异步操作引起的

我在 write() 之后有 self.finish(),没有错误,但没有得到任何输出

这是我的代码

class MyHandler(RequestHandler):
    _thread_pool = ThreadPoolExecutor(max_workers=10)

    @tornado.gen.coroutine
    def post(self):
        try:
            data = tornado.escape.json_decode(self.request.body)
            self.predict('mod1')
        except Exception:
            self.respond('server_error', 500)

    @concurrent.run_on_executor(executor='_thread_pool')
    def _b_run(self, mod, X):
        results = do some calculation
        return results

    @gen.coroutine
    def predict(self, mod):  
        model = mod (load from database)
        values = (load from database)
        results = yield self._b_run(model, values) …
Run Code Online (Sandbox Code Playgroud)

tornado

8
推荐指数
1
解决办法
4112
查看次数

如何在Windows中的Waitress中获取Flask应用程序的logger.info?

我有烧瓶应用程序在 Windows 的女服务员中服务,我有记录器信息

\n
app = Flask(__name__)\nlogging.basicConfig(level=logging.ERROR)\n\n@app.route('/run', methods=['POST'])\ndef RunFunction():\n    \xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6codes...\xe2\x80\xa6\xe2\x80\xa6..\n    app.logger.info("Log 1: Starting App on Port: {}".format(LISTEN_PORT))\n    \xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6...\n
Run Code Online (Sandbox Code Playgroud)\n

如果我用烧瓶运行,我会得到记录器信息

\n
if __name__ == '__main__':   \n    app.run(debug=True,port=8080, threaded=True,use_reloader=False)\n
Run Code Online (Sandbox Code Playgroud)\n

如果我用在女服务员身上

\n
from waitress import serve\nserve(app, host='0.0.0.0', threads=WAITRESS_THREADS, port=LISTEN_PORT)\n
Run Code Online (Sandbox Code Playgroud)\n

我没有在控制台中获取记录器信息

\n

我试过

\n
app = Flask(__name__)\nlogger = logging.getLogger('waitress')\nlogger.setLevel(logging.ERROR)\n
Run Code Online (Sandbox Code Playgroud)\n

和记录器代码为

\n
logger.info("Log 1: Starting App on Port: {}".format(LISTEN_PORT))\n
Run Code Online (Sandbox Code Playgroud)\n

这不起作用

\n

我也尝试过

\n
from paste.translogger import TransLogger \nserve(TransLogger(app, setup_console_handler=True), host='0.0.0.0', threads=WAITRESS_THREADS, port=LISTEN_PORT)\n
Run Code Online (Sandbox Code Playgroud)\n

这也不起作用,我可以知道如何在女服务员中获取记录器信息吗

\n

python logging flask python-3.x waitress

6
推荐指数
0
解决办法
1484
查看次数

如何设置在 Ipython.display 中显示的图像大小?

如何设置显示的图像尺寸?在 VSCode Jupyter 交互窗口中运行

from PIL import Image
from IPython.display import display
display(Image.open('imageURL'))
Run Code Online (Sandbox Code Playgroud)

此代码按原样显示图像,即显示原始大小,

尝试过这个,它有效,但是如何保持比例,图像按原样缩小

image = Image.open('imageURL')
image = image.resize((500,500),Image.ANTIALIAS)
display(image)
Run Code Online (Sandbox Code Playgroud)

python ipython

6
推荐指数
2
解决办法
1万
查看次数

使用自定义函数在 sklearn 中创建管道?

如何使用自定义函数创建 sklearn 管道?\n我有两个函数,一个用于清理数据,第二个用于构建模型。

\n\n
def preprocess(df):\n   \xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6.\n   # clean data\n   return df_clean\n\ndef model(df_clean):\n   \xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\n   #split data train and test and build randomForest Model\n   return model\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我使用 FunctionTransformer 并创建了管道

\n\n
from sklearn.pipeline import Pipeline, make_pipeline\nfrom sklearn.preprocessing import FunctionTransformer\n\npipe = Pipeline([("preprocess", FunctionTransformer(preprocess)),("model",FunctionTransformer(model))])\n\npred = pipe.predict_proba(new_test_data)\nprint(pred)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道上面是错误的,不知道如何处理,在管道中我需要先传递训练数据,然后我必须传递 new_test_data ?

\n

python pipeline scikit-learn

5
推荐指数
1
解决办法
4278
查看次数

如何根据另一个数据框列python中的值进行value_counts?

假设我有两个 pandas 数据框

data1 = [[s1, 0], [s2, 0], [s3, 1], [s4, 1], [s5, 0], [s6, 1], [s7, 0], [s8, 1]] 
df1 = pd.DataFrame(data1, columns = ['s_no', 'values']) 

data2 = [[s1, 0], [s2, 1], [s3, 1], [s4, 0], [s5, 0], [s6, 1], [s7, 1], [s8, 0]] 
df2 = pd.DataFrame(data2, columns = ['s_no2', 'values2']) 
Run Code Online (Sandbox Code Playgroud)

如何找到 value_counts

df2['values2'].value_counts() when df1['values'] == 1 and 

df2['values2'].value_counts() when df1['values'] == 0
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

5
推荐指数
1
解决办法
860
查看次数

如何修复“bind”类型的无效挂载配置:源路径必须是 Windows docker 容器中的目录?

我有一个 keras 模型(Windows Spyder IDE)并保存用于张量流服务,并按照https://www.youtube.com/watch?v=CUpUPY5g8NE中的步骤进行部署。

我正在使用 docker-for-windows 并运行 Windows 容器(因此 docker 中没有共享驱动器设置)

我拉了 TF 服务并使用参数运行 docker

> docker pull tensorflow/serving

> docker run -t --rm -d -p 8500:8500 -p 8501:8501 --name tf_model --mount type=bind,source=$LOCALMODELDIR/tf_model,target=/models/mymodel --mount type=bind,source=$LOCALMODELDIR/models.config,target=/models/models.config -e MODEL_NAME=mymodel tensorflow/serving --model_config_file=/models/models.config
Run Code Online (Sandbox Code Playgroud)

我跑到 docker 中的错误为

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: invalid mount config for type "bind": source path must be a directory.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)

我可以知道任何修复吗?

docker tensorflow tensorflow-serving docker-for-windows

5
推荐指数
1
解决办法
9936
查看次数

如何在Numpy数组和Pandas Dataframe之间进行映射?

我有一个熊猫数据框

data = [[0, 10, 22000, 3], 
        [1, 15, 42135, 4], 
        [0, 14, 13526, 5],
        [0, 16, 32156, 3], 
        [1, 23, 13889, 5], 
        [0, 18, 18000, 6], 
        [0, 21, 13189, 2], 
        [1, 32, 58766, 2]] 

df = pd.DataFrame(data, columns = ['Gender', 'Age', 'Amount','Dependents']) 
Run Code Online (Sandbox Code Playgroud)

我有一个numpy数组

arr = numpy.array([[1, 15, 42135, 4],
       [1, 23, 13889, 5],
       [0, 21, 13189, 2]])
Run Code Online (Sandbox Code Playgroud)

在这里,我想在数据框'data'中创建一个新列(比如说'Good_Bad'),如果数组存在于数据中。

结果应该像

data = [[0, 10, 22000, 3, 0], 
        [1, 15, 42135, 4, 1], 
        [0, 14, 13526, 5, 0],
        [0, 16, 32156, …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

3
推荐指数
1
解决办法
102
查看次数

如何在 pandas 数据框中使用系列展平列?

我有一个 pandas df,我需要压平系列列

data = pd.DataFrame([['TRAN',[{'Name':'Ben','Age':'24'}],'T','Good'],
                     ['LMI',[{'Name':'Zoe','Age':'32'}],'U','Better'],
                     ['ARN',[{'Name':'Jack','Age':'28'}],'V','Best']
                     ], 
                    columns=['Type', 'Applicant', 'Decision', 'Action'])
Run Code Online (Sandbox Code Playgroud)

数据是 pandas 数据框,申请人列是一个系列,

#data
type(data)
Out[25]: pandas.core.frame.DataFrame
#Applicant Column
type(data.Applicant)
Out[26]: pandas.core.series.Series
Run Code Online (Sandbox Code Playgroud)

我需要展平该系列并将列名称转换为'Type', 'Applicant.Name', 'Applicant.Age', 'Decision',的数据框'Action'

python pandas

1
推荐指数
1
解决办法
954
查看次数

如何检查Python字典中存在的相同密钥

我有一个函数,它调用另一个方法并返回3个值,我必须将其存储在dict中,当回调相同的函数时,我必须检查dict是否已将相同的值存储在dict中,如果它是必须返回该值,否则加载新的一组值。

IDS = {}

def get_ids(id):
    if id in IDS:
        return IDS[id], IDS[name], IDS[salary]
    else:
        id, name, salary = load_ids(id)
        IDS['id'] = id
        IDS['name'] = name
        IDS['salary'] = salary
        return id, name, salary 
Run Code Online (Sandbox Code Playgroud)

在这里,我要替换第一个存储的ID,但是我必须用新ID添加新值,load_ids进行一些计算并返回一些值

python

1
推荐指数
1
解决办法
43
查看次数

将模型读取为字节而不保存在 python 中的位置?

Python,我已将模型保存为 joblib 文件在某个位置,我在“rb”读取字节中打开文件,是否可以直接转换为字节而不是保存在文件中,

\n\n
import joblib\njoblib.dump(model, 'model.joblib')\n#Read as bytes\nmodel_bytes = open('C:/Models/model.joblib','rb').read()\nmodel_bytes\n#This outputs like \nb'\\x80\\x03csklearn.ensemble.forest\\nRandomForestClassifier\\nq\\x00)\\x81q\\x01}q\\x...\xe2\x80\xa6..\n
Run Code Online (Sandbox Code Playgroud)\n\n

在这里我不想保存在某个位置,所以我尝试使用临时文件,但这不起作用我知道,还有其他选择吗

\n\n
import tempfile\nbytes_model = tempfile.TemporaryFile()\nbytes_model.read(model)\n\n#Also bytes function doesn't work\nbytes_model = bytes(model)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不需要创建文件,因此我不必访问它,\n是否可以将模型变量读取为字节?

\n

python io pickle bytesio joblib

0
推荐指数
1
解决办法
4220
查看次数

Docker 容器未列出我拉取的容器?

我在 docker-for-windows Linux 容器中拉取 tensorflow/serving

PS C:\WINDOWS\system32> docker pull tensorflow/serving
Using default tag: latest
latest: Pulling from tensorflow/serving
Digest: sha256:f7e59a29cbc17a6b507751cddde37bccad4407c05ebf2c13b8e6ccb7d2e9affb
Status: Image is up to date for tensorflow/serving:latest
docker.io/tensorflow/serving:latest
Run Code Online (Sandbox Code Playgroud)

之后,对于任何以下命令,容器都没有列出

PS C:\WINDOWS\system32> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
PS C:\WINDOWS\system32> docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
PS C:\WINDOWS\system32> docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Run Code Online (Sandbox Code Playgroud)

我也尝试重新启动 docker,请问如何解决?

docker docker-image tensorflow tensorflow-serving docker-for-windows

0
推荐指数
1
解决办法
1231
查看次数