小编lda*_*vid的帖子

当keras设置为TF格式时,以TH格式加载权重

我将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的格式?

keras tensorflow

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

使用基于ConvLSTM2D的Keras模型估算来自较低分辨率图像的高分辨率图像

我正在尝试使用以下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)

scikit-learn keras tensorflow

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

使用DjangoObjectPermissionsFilter使用django-guardian过滤用户的对象

我能够设置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)

django-rest-framework django-guardian

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

没有objects.update()的Mongoengine批量更新

我想批量更新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)

该属性设置foonew 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)

python pymongo mongoengine

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

在 Keras Tensorflow 中连接两个同名模型

我试图组合两个模型以将输出连接到一个新模型,以便我可以像这样获得两个模型的预测

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”的层

deep-learning keras tensorflow

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