我已经开始使用Python中的图像了,我想开始使用PIL(Pillow).为了安装它,我跑了pip install Pillow.安装时,之前未安装PIL.我也试过卸载它并重新安装它,以及使用它pip3 install Pillow.
当我在Python中运行它时,我的第一行是:
File "C:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 56, in <module>
from . import _imaging as core
ImportError: DLL load failed: The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)
我检查了目录,文件_imaging.cp36-win_amd64.pyd存在于PIL文件夹下.
如果需要的DLL存在,为什么会发生这种情况?我该如何解决?
我正在运行 keras tensorflow 2.0 并试图创建一个模型,训练它,然后保存它。我的代码如下(简化):
model = Model()
model.save("saved_models/model1", overwrite=True, save_format="tf")
Run Code Online (Sandbox Code Playgroud)
这里,Model()是一个子类化tf.keras.Model并实现一个call(inputs)函数的类。
模型类(在下面请求)如下所示:
class Model(tf.keras.Model):
def __init__(self, loadFile: str = None):
super(Model, self).__init__()
#TODO: transfer from above into here V
self.conv1 = tf.keras.layers.Conv2D(filters=10,
kernel_size=(10, 30),
strides=(1, 30),
padding="same",
data_format="channels_last",
activation=tf.keras.activations.relu,
use_bias=True,
kernel_initializer=tf.keras.initializers.glorot_normal,
bias_initializer=tf.keras.initializers.zeros)
self.pool1 = tf.keras.layers.MaxPool2D(pool_size=(2, 1),
strides=(2, 1),
padding="same",
data_format="channels_last")
self.conv2 = tf.keras.layers.Conv2D(filters=10,
kernel_size=(4, 1),
strides=(2, 1),
padding="same",
data_format="channels_last",
activation=tf.keras.activations.relu,
use_bias=True,
kernel_initializer=tf.keras.initializers.glorot_normal,
bias_initializer=tf.keras.initializers.zeros)
self.pool2 = tf.keras.layers.MaxPool2D(pool_size=(2, 1),
strides=(2, 1),
padding="same",
data_format="channels_last")
self.flattened = …Run Code Online (Sandbox Code Playgroud) 我正在阅读这篇优秀的博客文章,并发现了以下内容,但我不确定它的作用:
data NonEmpty a = a :| [a]
Run Code Online (Sandbox Code Playgroud)
在这里做什么:|?我在 ghci 中尝试过,但实际上无法构建这种类型的任何东西。
我最近遇到了这个让我有点困惑的玩具示例。假设我定义了一个简单的可变参数函数,如下所示。然后,我们完全有权利在一个论点和两个论点上运行它。
(define (my-func . a) a)
(my-func 1) ; evals to '(1)
(my-func 1 2) ; evals to '(1 2)
Run Code Online (Sandbox Code Playgroud)
我遇到的奇怪的一点是,如果我尝试使用values如下方式一次性传递多个参数:
(my-func (values 1 2))
Run Code Online (Sandbox Code Playgroud)
我希望它的计算结果与 相同(my-func 1 2),但会抛出一个参数不匹配错误,即它期望 1 个参数但得到 2 个。
如果my-func是可变数量,为什么它期望一个参数?这是否与作为参数的语法对象的数量有关还是其他什么?