我将Keras的image_dim_ordering
属性设置为'tf',所以我将我的模型定义为:
model = Sequential()
model.add(ZeroPadding2D((1, 1), input_shape=(224, 224, 3)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
Run Code Online (Sandbox Code Playgroud)
但是当我调用load_weights
方法时,它会崩溃,因为我的模型是使用"th"格式保存的:
Exception: Layer weight shape (3, 3, 3, 64) not compatible with provided weight shape (64, 3, 3, 3)
Run Code Online (Sandbox Code Playgroud)
如何加载这些权重并自动转置它们以修复Tensorflow的格式?
我正在尝试使用以下ConvLSTM2D
架构来估计低分辨率图像序列的高分辨率图像序列:
import numpy as np, scipy.ndimage, matplotlib.pyplot as plt
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, ConvLSTM2D, MaxPooling2D, UpSampling2D
from sklearn.metrics import accuracy_score, confusion_matrix, cohen_kappa_score
from sklearn.preprocessing import MinMaxScaler, StandardScaler
np.random.seed(123)
raw = np.arange(96).reshape(8,3,4)
data1 = scipy.ndimage.zoom(raw, zoom=(1,100,100), order=1, mode='nearest') #low res
print (data1.shape)
#(8, 300, 400)
data2 = scipy.ndimage.zoom(raw, zoom=(1,100,100), order=3, mode='nearest') #high res
print (data2.shape)
#(8, 300, 400)
X_train = data1.reshape(data1.shape[0], 1, data1.shape[1], data1.shape[2], 1)
Y_train = data2.reshape(data2.shape[0], …
Run Code Online (Sandbox Code Playgroud) 我能够设置django-guardian
和我的django-rest-framework
项目作为drf文档中的示例,但我没有实现我想要的行为.有人可以指出,如果我做错了什么或者我想做什么都不能用guardian
?
建立
settings.py
INSTALLED_APPS = (
...
'guardian',
'simple',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'guardian.backends.ObjectPermissionBackend',
)
'DEFAULT_PERMISSION_CLASSES': (
'infrastructure.permissions.DjangoObjectPermissions',
)
Run Code Online (Sandbox Code Playgroud)
infrastructure.permissions.py
from rest_framework import permissions
class DjangoObjectPermissions(permissions.DjangoObjectPermissions):
"""
Similar to `DjangoObjectPermissions`, but adding 'view' permissions.
"""
perms_map = {
'GET': ['%(app_label)s.view_%(model_name)s'],
'OPTIONS': ['%(app_label)s.view_%(model_name)s'],
'HEAD': ['%(app_label)s.view_%(model_name)s'],
'POST': ['%(app_label)s.add_%(model_name)s'],
'PUT': ['%(app_label)s.change_%(model_name)s'],
'PATCH': ['%(app_label)s.change_%(model_name)s'],
'DELETE': ['%(app_label)s.delete_%(model_name)s'],
}
Run Code Online (Sandbox Code Playgroud)
models.py
class Event(models.Model):
name = models.CharField(max_length=255)
min_age = models.IntegerField()
def __str__(self):
return self.name
class Meta:
permissions …
Run Code Online (Sandbox Code Playgroud) 我想批量更新mongoengine Documents实例中的更改,但据我所知,在符合条件的所有文档中model.objects.update(...)
进行相同的更新.
例:
entities = Foo.objects
result = entities.update(
set__foo='new bar',
upsert=True,
full_result=True)
Run Code Online (Sandbox Code Playgroud)
该属性设置foo
到new bar
上有他们的所有文件foo
等于bar
.我想对每个文件做出不同的更改.
这可能吗?像这样的东西:
entities = Foo.objects
... # make changes to each entity in entities
entities = Foo.objects.update(entities)
# these entities were bulk updated in mongodb.
Run Code Online (Sandbox Code Playgroud) 我试图组合两个模型以将输出连接到一个新模型,以便我可以像这样获得两个模型的预测
model_age = load_model('age.h5')
# model_age.get_layer(name= 'model').name='predictions_1'
model_gender = load_model('gender.h5')
# model_gender.get_layer(name='model_1').name='predictions_2'
x = Input(shape=[100, 100, 3])
y_age = model_age(x)
y_gen = model_gender(x)
model = Model(inputs=x, outputs=[y_age, y_gen])
data = cv2.imread(image)
p_age, p_gender = model.predict(data)
print(p_age)
print(p_gender)
Run Code Online (Sandbox Code Playgroud)
但这个错误不断发生,说
RuntimeError: (u'The name "model_1" is used 2 times in the model. All
layer names should be unique. Layer names: ', ['input_1', u'model_1',
u'model_1'])
Run Code Online (Sandbox Code Playgroud)
尝试使用上面评论的代码解决这个问题,但说这些模型没有名为“model_1”的层