小编dav*_*ism的帖子

如何将torch集成到docker镜像中,同时保持镜像大小合理?

所以我有一个 Flask Web 应用程序,它将公开一些深度学习模型。

我构建了图像,一切正常。

问题是这张图片的大小是5.58GB!这有点荒谬。

我有一些在构建过程中复制的深度学习模型,我认为它们可能是罪魁祸首,但它们的大小总和并没有超过,300MB所以绝对不是它。

在检查历史记录和每层的大小后,我发现了这一点:

  • RUN /bin/sh -c pip install -r requirements.txt占用771MB
  • RUN /bin/sh -c pip install torch==1.10.2占用2.8GB
  • RUN /bin/sh -c apt-get install ffmpeg libsm6 libxext6占用400MB

那么如何在保持图像大小合理的同时合并这些库呢?在 python 中部署机器学习模型时,可以使用这些大小的图像吗?

下面是root directory

在此输入图像描述

Dockerfile

FROM python:3.7.13
WORKDIR /app 
COPY ["rdm.pt", "autosort_model.pt", "rotated_model.pt", "yolov5x6.pt", "/app/"]
RUN pip install torch==1.10.2
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
RUN apt-get update
RUN apt-get install ffmpeg libsm6 libxext6 …
Run Code Online (Sandbox Code Playgroud)

python docker pytorch

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

更新时密码未加密

作为python的新手,我不太清楚为什么我会得到不一致的结果.我注册了一个用户,我的表中的密码最终成为哈希版本.当用户更新其密码时,表中的密码最终为未散列的版本.显然,我想要哈希版本.我究竟做错了什么?(如果重要的话,我正在使用SQLAlchemy和mysql.)

我有以下内容:

def hash_password(password):
    blah, blah, blah # hash my password here
    return hashed_password

class User(Base):
    __tablename__ = 'mytable'
    email = Column('email')
    _password = Column('password')

    def _get_password(self):
        return self._password

    def _set_password(self, password):
        self._password = hash_password(password)
    password = property(_get_password, _set_password)
    password = synonym('_password', descriptor=password)

    def __init__(self, password="", email=""):
        self.email = email
        self.password = password
    @classmethod
    def register(cls, email, password):
        return DBSession.add(User(email=email,password=password)) # this correctly hashes the password

    @classmethod
    def update(cls, email, password):
        return DBSession.query(cls).filter(cls.email == email).update({'password': password}) #password ends up being …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy pyramid

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

FORTRAN中从``real``到``double precision``的转换是否会受到编译器的影响?

我有一个FORTRAN代码,我需要在服务器上运行.我注意到两台机器的结果有点不同.调查一下,我了解到差异从一个返回real值的函数变为一个double precision变量.在locale机器上我使用旧编译器(gnu f95 4.1.2),在远程机器上我使用ifort.

compiler-construction fortran casting intel-fortran

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

如何以JSON的形式返回结果列表?

我想以JSON的形式返回查询结果.我正在使用以下路由将一个模型实例作为JSON对象返回.

@mod.route('/autocomplete/<term>', methods=['GET'])
def autocomplete(term):

    country = Country.query.filter(Country.name_pt.ilike('%'+ term + '%')).first()

    country_dict = country.__dict__
    country_dict.pop('_sa_instance_state', None)

    return jsonify(json_list=country_dict) 
Run Code Online (Sandbox Code Playgroud)

如果我使用该first()方法,此代码很有效.但是,我需要使用它all()来获得所有结果.当我这样做时,我得到以下错误.

country_dict = country.__dict__
AttributeError: 'list' object has no attribute '__dict__'
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能将整个结果列表作为JSON返回?

python sqlalchemy flask-sqlalchemy

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

如果__name__ =='__main__'python

我已经看了很多关于这个的文章

if __name__ == '__main__'
Run Code Online (Sandbox Code Playgroud)

但没有得到..我将与您分享代码,请您简要介绍一下。

我创建了一个文件“ ab.py”

def a():
    print('A function in ab file');

a()
Run Code Online (Sandbox Code Playgroud)

第二个文件是“ xy.py”

import ab

def b():
    print('b function')

def x(): print ('s');

x()

if __name__ == "__main__" :b()
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,此输出即将到来

A function in ab file
s
b function
Run Code Online (Sandbox Code Playgroud)

现在,我想知道这是什么意思,实际上是在做什么代码,我们为什么要实现它?没有它,我们的代码也可以工作

if __name__ == "__main__" :b()
Run Code Online (Sandbox Code Playgroud)

python

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

重定向至before_request()

我知道该before_request()功能是在执行附加到路由的功能之前执行的。

我的代码检查用户是否已登录该before_request()函数,如果不是,则将其重定向到索引页面。但是,重定向不起作用。这是我的代码:

@app.before_request
def before_request():
if(
    (
        request.endpoint != 'index' or
        request.endpoint != 'home' or
        request.endpoint != ''
    )
    and 'logged_in' not in session
):
    print("NOT LOGGED IN")
    redirect(url_for('index'))
Run Code Online (Sandbox Code Playgroud)

这会在终端中显示“ NO LOGGED IN”,但不会重定向。如何正确重定向?

python flask

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

使用表单选择服务器上的文件时出现错误请求错误

from flask.ext.wtf import Form
from flask import send_from_directory
from wtforms import StringField, BooleanField
from wtforms import SelectField

import os
from os import listdir
from os.path import isfile, join

crewPath =  ("/myproject/app/static/Crews")

filenamesCrew = [f for f in listdir(crewPath) if isfile(join(crewPath,f)) ]

class userInput(Form):
    json_fileCrew = SelectField(u"json_fileCrew", choices=[(f, f) for f in filenamesCrew])

    def get_data(self):
        json = send_from_directory (crewPath, self.json_fileCrew.data)
        return json

@app.route('/CastCrew', methods=['GET', 'POST'])
def castCrew():
    form = userInput(request.form["crewYear"])
    return render_template('CastCrew.html', title = 'Cast Crew View', form = form)

@app.route("/data", …
Run Code Online (Sandbox Code Playgroud)

python flask flask-wtforms

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

选择查询中的行范围

我有一个函数,它接受page_sizeskip作为参数.如果page_size = 10skip = 2,我想从第21行开始选择10行.我认为这与LIMITOFFSET.我如何在SQLAlchemy中执行此操作?

python sqlalchemy

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

将不同的样式表应用于模板的不同元素

我在Flask模板中嵌入了散景图.该应用程序使用主样式表,而图表需要自己的样式.

主样式表泄漏到图表中并更改其外观.如何将不同的样式应用于模板中的不同部分,以便只有一种样式处于活动状态?


有关更多代码和图像,请参阅Bokeh邮件列表中的我的问题.

这是拉入图表对象的模板代码. resources,, scriptdiv是图表库生成的对象元素.

{% extends "base.html" %}
{% block content %}
    <frame>
    <head>
        <meta charset='utf-8' />
        <meta http-equiv='content-type' content='text/html; charset=utf-8' />
        {{ resources|indent(4)|safe }}        
        {{ script|indent(4)|safe }}
    </head>
    <body>
        {{ div|indent(4)|safe }}
    </body>
    </frame>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

html css python flask bokeh

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

修复类似JSON的文件中的未加引号的键,以便它使用正确的JSON语法

我有一个非常大的类JSON文件,但它没有使用正确的JSON语法:没有引用对象键.我想编写一个脚本来修复文件,以便我可以加载它json.loads.

我需要匹配后跟冒号的所有单词,并用引用的单词替换它们.我认为正则表达式是\w+\s*:我应该使用的re.sub,但我不确定如何做到这一点.

如何获取以下输入并获得给定的输出?

# In
{abc : "xyz", cde : {}, fgh : ["hfz"]}
# Out
{"abc" : "xyz", "cde" : {}, "fgh" : ["hfz"]}

# In
{
    a: "b",
    b: {
        c: "d",
        d: []
    },
    e: "f"
}
# Out
{
    "a": "b",
    "b": {
        "c": "d",
        "d": []
    },
    "e": "f"
}
Run Code Online (Sandbox Code Playgroud)

python regex json

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