所以我试图从图像中提取文本.而且由于图像的质量和尺寸不佳,它会产生不准确的结果.我用PIL尝试了一些增强功能和其他功能,但这只会降低图像质量.
有人可以建议图像的一些增强,以获得更好的结果.几个图像的例子:
我遇到了一个非常独特的问题。我创建的模型1. “消息”,用了一段时间,然后我把它改为2 “消息”,之后又变回3. “消息”,但是这一次,在模型领域中的许多变化。
后来我知道,Django迁移在重命名模型时会遇到一些问题。在我的迁移中,出现了一些问题。尽管我以正确的方式运行了所有迁移,但在运行第三次迁移以获得消息时,却遇到了一些手动修复的问题。现在,当我为其他模型中的更改进行迁移时,我发现此迁移仍取决于消息的第二次迁移。但是,它依赖于第二次迁移的字段实际上是在第三次迁移中创建的。
我得到的追溯:
ValueError: Lookup failed for model referenced by field activities.Enquiry.message_fk: chat.Message
Run Code Online (Sandbox Code Playgroud)
和:
Applying contacts.0002_mailsend...Traceback (most recent call last):
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/apps/config.py", line 163, in get_model
return self.models[model_name.lower()]
KeyError: 'message'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/migrations/state.py", line 84, in render
model = self.apps.get_model(lookup_model[0], lookup_model[1])
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/apps/registry.py", line 202, in get_model
return self.get_app_config(app_label).get_model(model_name.lower())
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/apps/config.py", line 166, in get_model
"App '%s' doesn't have a '%s' …Run Code Online (Sandbox Code Playgroud) 有什么注意事项吗?我有几个与此相关的问题。
创建更多 GIL 的成本是多少?它与创建单独的 python 运行时有什么不同吗?一旦创建了新的 GIL,它是否会根据该过程的需要从头开始创建所有内容(对象、变量、堆栈、堆),或者创建当前堆中所有内容的副本并创建堆栈?(如果垃圾收集处理相同的对象,它们就会发生故障。)正在执行的代码片段是否也被复制到新的 CPU 内核?我也可以将一个 GIL 与一个 CPU 核心联系起来吗?
现在复制东西是一项相当占用 CPU 的任务(如果我错了,请纠正我),决定是否进行多处理的阈值是多少?
PS:我说的是 CPython,但请随意将答案扩展到您认为必要的任何内容。
在这个问题的上下文中什么是“运行时”?(/sf/ask/273038461/)
我试图了解 python 运行时由什么组成。我的猜测是:
现在,如果这是正确的,我们是否可以说 python 中的多处理创建了多个运行时并且一个 python 进程是我们可以直接与运行时相关联的东西?(我认为这是正确的选择)
或者,每个 python 线程都有自己的堆栈,与父进程在相同的 GIL 和内存空间上工作,可以被称为具有单独的运行时?
或者,不管有多少线程或进程正在运行,它都会在一个运行时下运行?
简单来说,Python 上下文中运行时的定义是什么?
PS:我理解线程和进程之间的区别。GIL:我理解这些影响,但我不理解。
我正在尝试使用 sqlalchemy 在 Mysql 数据库上执行存储过程。
它从 shell 运行良好,但抛出此错误:
OperationalError: (MySQLdb._exceptions.OperationalError) (1568, "Transaction characteristics can't be changed while a transaction is in progress")
Run Code Online (Sandbox Code Playgroud)
原因似乎是 SQLAlchemy 在事务中运行查询。并且存储过程中的事务与它发生冲突。以下是 sqlalchemy 日志:
2019-07-24 15:20:28,888 INFO sqlalchemy.engine.base.Engine SHOW VARIABLES LIKE 'sql_mode'
2019-07-24 15:20:28,888 INFO sqlalchemy.engine.base.Engine ()
2019-07-24 15:20:28,900 INFO sqlalchemy.engine.base.Engine SELECT DATABASE()
2019-07-24 15:20:28,900 INFO sqlalchemy.engine.base.Engine ()
2019-07-24 15:20:28,910 INFO sqlalchemy.engine.base.Engine show collation where `Charset` = 'utf8mb4' and `Collation` = 'utf8mb4_bin'
2019-07-24 15:20:28,910 INFO sqlalchemy.engine.base.Engine ()
2019-07-24 15:20:28,916 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS CHAR(60)) …Run Code Online (Sandbox Code Playgroud) Java 和 python(仅讨论 CPython)分别被解释为 Java 和 CPython 字节码。然后,这两个字节码都由它们各自的虚拟机(JVM 和 Cpython VM)解释。(这里我忽略了在 10K 运行后开始的 JIT 编译部分。)
我对此有两个问题:
虽然它在运行时扮演着重要的角色,但我认为静态和动态类型在编译过程中不应该扮演太大的角色,也不应该是造成这种时间差异的唯一原因。另外,我认为在这两个实现中,在字节码生成期间进行了一些优化。
有什么我在这里想念的吗?(我没有太多的 Java 工作经验。)
更新:
我实际上对 python 第一次运行和后来的运行做了时间分析,发现语句 2 是错误的。运行大型python文件时有非常明显的区别。
方法很简单。创建了一个包含重复行的大文件
a = 5
b = 6
c = a*b
print(str(c))
Run Code Online (Sandbox Code Playgroud)
然后将其导入文件large.py并运行time python large.py
首次运行结果:
python large.py 1.49s user 0.33s system 97% cpu 1.868 total
Run Code Online (Sandbox Code Playgroud)
第二次运行结果:
python large.py 0.20s user 0.08s system …Run Code Online (Sandbox Code Playgroud) 我试图下载图像并使用BytesIO打开图像以使用PIL和pytesseract从其提取文本时遇到一个令人困惑的问题。
>>> response = requests.get('http://abc/images/im.jpg')
>>> img = Image.open(BytesIO(response.content))
>>> img
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=217x16 at 0x7FDAD185CB38>
>>> text = pytesseract.image_to_string(img)
>>> text
''
Run Code Online (Sandbox Code Playgroud)
这里给出一个空字符串。
但是,如果我保存图像,然后用pytesseract再次打开它,它将给出正确的结果。
>>> img.save('im1.jpg')
>>> im = Image.open('im1.jpg')
>>> pytesseract.image_to_string(im)
'The right text'
Run Code Online (Sandbox Code Playgroud)
只是为了确认,两者的大小相同。
>>> im.size
(217, 16)
>>> img.size
(217, 16)
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?是否需要保存图像或者我做错了什么?
有没有人能够在 python:3.6.0-alpine 上安装 wkhtmltopdf。
我已经尝试了互联网上的所有解决方案。我需要使用 pdfkit,它内部使用 wkhtmltopython 将 html 转换为 pdf。
问题很简单.我有一个说10个条目的列表,我正在运行循环.我想要的是每个条目只需一次,但是按随机顺序.
什么是最好和最pythonic的方式呢?
假设我在多核 CPU(比如 4)上运行多个 python 进程(不是线程)。GIL 是流程级别,因此特定流程中的 GIL 不会影响其他流程。
我的问题是,一个进程中的 GIL 是只占用 4 个内核中的一个内核,还是会占用所有 4 个内核?
如果一个进程同时锁定所有内核,那么多处理应该不会比 Python 中的多线程更好。如果不是,如何将内核分配给各种进程?
作为观察,在我的 8 核系统中(由于超线程是 4*2),当我运行单个 CPU 绑定进程时,8 个核中有 4 个的 CPU 使用率上升。
简化这个:
在 4 核 CPU 上运行的 4 个 python 线程(在一个进程中)将比执行相同工作的单线程花费更多时间(考虑到工作完全受 CPU 限制)。4 个不同的进程做这么多的工作会减少近 4 倍的时间吗?
python ×8
gil ×3
cpython ×2
ocr ×2
python-3.x ×2
alpine-linux ×1
compilation ×1
cpu ×1
django ×1
docker ×1
image ×1
java ×1
jvm ×1
list ×1
mysql ×1
pytesser ×1
request ×1
runtime ×1
sqlalchemy ×1
terminology ×1
tesseract ×1
wkhtmltopdf ×1