小编sdc*_*cbr的帖子

导入tensorflow时,出现以下错误:没有名为'numpy.core._multiarray_umath'的模块

我安装了Ancaconda3和Tensorflow.当我尝试在python shell中导入Tensorflow时,我收到以下错误:

ModuleNotFoundError:没有名为'numpy.core._multiarray_umath'的模块ImportError:numpy.core.multiarray无法导入

上述异常是以下异常的直接原因:

回溯(最近一次调用最后一次):文件"",第980行,在_find_and_load中SystemError:返回错误集导入的结果ImportError:numpy.core._multiarray_umath无法导入ImportError:numpy.core.umath导入失败

我不确定问题是什么,因为我的系统上安装了numpy并且可以在python中成功导入.我使用的是Windows10.

提前致谢.

numpy python-3.x anaconda tensorflow

40
推荐指数
2
解决办法
2万
查看次数

使用Keras(PIL)和TensorFlow调整图像大小之间的不一致性?

我被以下两者之间的明显不一致所困扰:

  1. 图像调整大小的功能keras.preprocessing,它们是PIL函数的包装器
  2. TensorFlow中的图像大小调整功能tf.image.

我正在为Keras的计算机视觉任务培训深度学习模型(实际上,有tf.keras,但这并不重要).然后,我使用TF Serving为模型提供服务,这需要我将图像作为编码的字节串发送到模型,在tf.image.decode_png通过模型图之前使用它们进行解码.

我调整图像大小时会出现问题.用双线性内插(或任何其它方法)改变给出具有PIL不同的结果与用tf.image,到这样的程度使得由模型分类的变化取决于我使用的功能.

下面的代码提供了一个可重现的示例.

import numpy as np 
from PIL import Image
from keras.preprocessing.image import load_img, img_to_array
import tensorflow as tf

# Generate an 'image' with numpy, save as png
np.random.seed(42)
image = np.random.randint(0, 255, size=(256, 256, 3)).astype(np.uint8)
Image.fromarray(image).convert("RGB").save('my_image.png')
Run Code Online (Sandbox Code Playgroud)

现在,让我们以两种方式加载图像.首先从Keras的PIL包装,作为模型的训练过程中,随后被编码成一个二进制字符串,并用TensorFlow解码功能,如在我的模型服务器.

# Using Keras PIL wrappers
keras_image = img_to_array(load_img('./my_image.png')) 

# Using TF functionalities
with tf.Session() as sess:
    with open('./my_image.png', 'rb') as f:
        tf_image_ = tf.image.decode_png(f.read())
    tf_image …
Run Code Online (Sandbox Code Playgroud)

python python-imaging-library deep-learning keras tensorflow

12
推荐指数
1
解决办法
824
查看次数

Python fbprophet - 每年从 plot_components() 导出值

关于如何使用fbprophet库导出年度季节性趋势的任何想法?该plot_components()函数绘制趋势、每年和每周。我只想获得每年的值。

time-series python-3.x facebook-prophet

7
推荐指数
1
解决办法
2721
查看次数

ValueError:应该定义"Dense"输入的最后一个维度.找到了"无"

我的模型定义如下:

def build(data):
    model = Sequential()
    model.add(Cropping2D(cropping=((79, 145), (50, 250)), input_shape= 
                                                                   (160,320,3)))
    model.add(Lambda(lambda x: x/127.5 - 1.0))

    model.add(Conv2D(24, (2, 2), padding='same'))
    model.add(ELU())
    model.add(Conv2D(36, (2, 2), padding='same'))
    model.add(ELU())
    model.add(Conv2D(48, (2, 2), padding='same'))
    model.add(ELU())

    # Add a flatten layer
    model.add(Flatten())
    model.summary()
    model.add(Dense(100))
    model.add(ELU())
    model.add(Dense(50))
    model.add(ELU())
    model.add(Dense(10))
    model.add(ELU())
    model.add(Dense(1))

    return model
Run Code Online (Sandbox Code Playgroud)

得到此错误:

ValueError:Dense应定义输入的最后一个维度.找到了None.

我跑了model.summary(),得到了以下输出

Layer (type)                 Output Shape              Param #   
=================================================================
cropping2d_15 (Cropping2D)   (None, 0, 20, 3)          0         
_________________________________________________________________
lambda_23 (Lambda)           (None, 0, 20, 3)          0         
_________________________________________________________________ …
Run Code Online (Sandbox Code Playgroud)

python deep-learning conv-neural-network keras tensorflow

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

我正在尝试生成一个数据集,但收到值错误“ValueError: 'a' 不能为空,除非没有采样”

我正在使用一个包含 3000 多个图像的数据集进行迁移学习。这是代码的一部分:

import glob
import numpy as np
import os
import shutil

np.random.seed(42)
files = glob.glob('train/*')

cat_files = [fn for fn in files if 'cat' in fn]
dog_files = [fn for fn in files if 'dog' in fn]
len(cat_files), len(dog_files)

cat_train = np.random.choice(cat_files, size=1500, replace=False)
Run Code Online (Sandbox Code Playgroud)

python-3.x deep-learning transfer-learning

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

How to train Siamese network in Keras?

I have a pandas dataframe containing filenames of positive and negative examples as below

img1        img2      y
001.jpg     002.jpg   1 
003.jpg     004.jpg   0 
003.jpg     002.jpg   1  
Run Code Online (Sandbox Code Playgroud)

I want to train my Siamese network using Keras ImageDataGenerator and flow_from_dataframe. How do I set up my training so that the code inputs 2 images with 1 label simultaneously.

Below is the code for my model

def siamese_model(input_shape) :
    left = Input(input_shape)
    right = Input(input_shape)
    model = Sequential()
    model.add(Conv2D(32, (3,3), activation='relu', input_shape=input_shape))
    model.add(BatchNormalization()) …
Run Code Online (Sandbox Code Playgroud)

machine-learning computer-vision deep-learning conv-neural-network keras

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

Keras ImageDataGenerator:为什么我的CNN的输出颠倒了?

我正在尝试编写区分猫和狗的CNN。我将标签设置为dog:0和cat:1,因此我希望CNN如果是狗则输出0,如果是猫则输出1。但是,它反而相反(给它的猫是0,给狗1则是0)。请查看我的代码,看看我哪里出错了。谢谢

我目前正在使用jupyter笔记本使用python 3.6.8(内部的所有代码都是我从jupyter笔记本中复制粘贴代码的不同部分)

import os
import cv2
from random import shuffle
import numpy as np
from keras.preprocessing.image import ImageDataGenerator, load_img, img_to_array
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from keras.models import Sequential
from keras.layers import Dense, Activation, Conv2D, MaxPooling2D, Flatten, Dropout, BatchNormalization
from keras.callbacks import EarlyStopping, ReduceLROnPlateau
%matplotlib inline

train_dir = r'C:\Users\tohho\Desktop\Python pypipapp\Machine Learning\data\PetImages\train'
test_dir = r'C:\Users\tohho\Desktop\Python pypipapp\Machine Learning\data\PetImages\test1'
IMG_WIDTH = 100
IMG_HEIGHT = 100
batch_size = 32



######## THIS IS WHERE I LABELLED 0 …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas deep-learning keras

4
推荐指数
1
解决办法
380
查看次数

从熊猫数据框加载Keras中的批量图像

我有一个包含两列的pandas数据帧,一列有图像路径,另一列有字符串类标签.

我还编写了以下函数,这些函数从数据框加载图像,重新规范化它们并将类标签转换为单热矢量.

def prepare_data(df):
    data_X, data_y = df.values[:,0], df.values[:,1]

    # Load images
    data_X = np.array([np.array(imread(fname)) for fname in data_X])

    # Normalize input
    data_X = data_X / 255 - 0.5

    # Prepare labels
    data_y = np.array([label2int[label] for label in data_y])
    data_y = to_categorical(data_y)

    return data_X, data_y
Run Code Online (Sandbox Code Playgroud)

我想将此数据帧提供给Keras CNN,但整个数据集太大而无法立即加载到内存中.

本网站的其他答案告诉我,为此我应该使用Keras ImageDataGenerator,但说实话,我不明白如何从文档中做到这一点.

将延迟加载批次中的数据提供给模型的最简单方法是什么?

如果它是一个ImageDataGenerator,我如何创建一个ImageDataGenerator,它接受初始化Dataframe并通过我的函数传递批次来创建适当的numpy数组?我如何使用ImageDataGenerator拟合模型?

python pandas keras

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

Keras:如何获得两个以上类别的预测标签

我使用 TensorFlow 后端在 Keras 中实现了一个图像分类器。对于具有两个输出类的数据集,我检查了预测标签,如下所示:

if  result[0][0] == 1:
    prediction ='adathodai'
else:
    prediction ='thamarathtai'
Run Code Online (Sandbox Code Playgroud)

完整代码链接: 这里

通过三个类,我得到[[0. 0. 1.]]了结果输出。如何以 if else 格式检查两个以上类别的预测标签?

python numpy keras tensorflow

2
推荐指数
1
解决办法
7283
查看次数

不包括顶层调用 Keras 预训练模型的区别

调用包含或不包含模型顶层的 VGG16 模型有什么区别?我想知道,为什么在不包括顶层的情况下调用模型时,模型摘要中没有显示层的输入参数。我通过以下两种方式使用了 VGG16 模型:

from keras.applications import vgg16
model = vgg16.VGG16(weights='imagenet', include_top=False)
print(model.summary)
Run Code Online (Sandbox Code Playgroud)

模型中层的形状不显示任何输入即(无,无,无,64),请参见下文

Layer (type)                 Output Shape              Param 
===================================================================   
block1_conv1 (Conv2D)        (None, None, None, 64)    1792      
block1_conv2 (Conv2D)        (None, None, None, 64)    36928     
block1_pool (MaxPooling2D)   (None, None, None, 64)    0         
Run Code Online (Sandbox Code Playgroud)

但是,以下代码返回输入参数

from keras.applications import vgg16
model = vgg16.VGG16()
print(model.summary)
Run Code Online (Sandbox Code Playgroud)

层的形状,在这种情况下,返回输入参数

Layer (type)                 Output Shape              Param   
==================================================================   
block1_conv1 (Conv2D)        (None, 224, 224, 64)      1792      
block1_conv2 (Conv2D)        (None, 224, 224, 64)      36928     
block1_pool (MaxPooling2D)   (None, 112, 112, 64)       0    
Run Code Online (Sandbox Code Playgroud)

我试图理解为什么会这样,请发表评论

keras tensorflow keras-layer keras-2

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