我遇到了厨师弃用错误的问题。我有3个食谱,分别是A,B和C。对于食谱A,B是依赖关系,而C是B的依赖关系。在食谱B的食谱之一中,我有以下内容
from keras.engine import Layer, InputSpec
from keras.layers import Flatten
import tensorflow as tf
# https://github.com/keras-team/keras/issues/373
class KMaxPooling(Layer):
"""
K-max pooling layer that extracts the k-highest activations from a sequence (2nd dimension).
TensorFlow backend.
"""
def __init__(self, k=1, **kwargs):
super().__init__(**kwargs)
self.input_spec = InputSpec(ndim=3)
self.k = k
def compute_output_shape(self, input_shape):
return input_shape[0], (input_shape[2] * self.k)
def call(self, inputs):
# swap last two dimensions since top_k will be applied along the last dimension
shifted_input = tf.transpose(inputs, [0, 2, 1])
# extract top_k, returns two tensors [values, indices]
top_k = tf.nn.top_k(shifted_input, k=self.k, sorted=True, name=None)[0]
# return flattened output
return Flatten()(top_k)
def get_config(self):
config = {'k': self.k}
base_config = super().get_config()
return {**base_config, **config}
在食谱C的食谱之一中,我有以下相同内容。
from_file 'xxxxxx' do
source 'yyy'
mode 0xxx
owner 'abc'
group 'abc'
end
现在,当我收敛菜谱A时,它由于克隆而失败,由于过时而导致资源错误失败。
请提出我应该如何更改以使其在Chef 13中代表。
答案 0 :(得分:0)
from_file
不是厨师资源,而是内部混合资源(也许您指的是file
resource。
话虽如此,感觉就像您面对resource cloning deprecation message (chef-3694),自厨师10.18.0起已弃用,并已从厨师13中移除。
要解决此问题,请为您的资源指定唯一的名称。例如:如果您有两个名称如下的资源
file 'x' do
# ...
end
file 'x' do
# ...
end
然后更改其中之一,这样您将具有唯一的名称:
file 'x' do
# ...
end
file 'y' do
# ...
end