标签: tensorflow


TypeError: '(slice(0, 201617, 1), slice(None, None, None))' 是无效键

读取以下数据后:

Head:
          Open       Close        High         Low       Volume   volume_adi   volume_obv  volume_obvm  ...  momentum_stoch  momentum_stoch_signal  momentum_wr  momentum_ao  others_dr  others_dlr  others_cr   nextClose
0  118.940002  118.950996  119.015999  118.926003  3468.199951 -1468.002197     0.000000     0.000000  ...       27.777779              27.777779   -72.222221     0.000000  14.749734    0.000000   0.000000  118.948997
1  118.954002  118.959000  118.974998  118.892998  3083.300049  1139.846680  3083.300049    -8.533334  ...       53.658535              35.663956   -46.341465     0.000000   0.008407    0.008407   0.006725  118.975998
2  118.966003  118.975998  118.990997  118.922997  2914.600098  3508.808105  2914.600098   722.250000  ...       67.479675              48.897923   -32.520325     0.000000   0.014291    0.014290   0.021017  118.985001
3  118.992996  118.985001  119.000000  118.967003  3088.800049  1909.547119 …
Run Code Online (Sandbox Code Playgroud)

numpy pandas tensorflow

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

我应该将分类输出转换为整数吗?如何转换?

我正在使用神经网络对文本进行分类,训练数据的标签是0或1(即二元分类)。它在训练和评估过程中效果很好,但预测输出是浮点值而不是整数0或1。我怎样才能总是得到整数结果?我需要手动转换它们或更改网络参数吗?

model = Sequential()
e = Embedding(vocab_size, embedding_dim, weights=[embedding_matrix], 
input_length=max_length, trainable=False)
model.add(e)
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))

# compile
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])
print(model.summary())

# fit
model.fit(padded_docs, labels, epochs=5, verbose=2)

# eval
loss, accuracy = model.evaluate(padded_docs, labels, verbose=0)
print('Accuracy: %f' % (accuracy*100))

# predict
result = model.predict(padded_docs_test, verbose=2)
Run Code Online (Sandbox Code Playgroud)

nlp machine-learning tensorflow

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

使用 Keras 进行单批次训练时,准确性会下降吗?

通常,当使用 Keras 训练深度神经网络时,训练准确性会在单批次训练期间提高。

就像这样,

2019-08-03 13:33:22 PST10/189 [>.............................] - ETA: 9s - loss: 0.6919 - acc: 0.8000
2019-08-03 13:33:22 PST20/189 [==>...........................] - ETA: 4s - loss: 0.6905 - acc: 0.9000
2019-08-03 13:33:22 PST40/189 [=====>........................] - ETA: 2s - loss: 0.6879 - acc: 0.9500
2019-08-03 13:33:22 PST60/189 [========>.....................] - ETA: 1s - loss: 0.6852 - acc: 0.9667
2019-08-03 13:33:22 PST80/189 [===========>..................] - ETA: 1s - loss: 0.6821 - acc: 0.9750
2019-08-03 13:33:22 PST90/189 [=============>................] - ETA: 1s - loss: 0.6806 - …
Run Code Online (Sandbox Code Playgroud)

python deep-learning keras data-science tensorflow

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

Tensorflow依赖项:tensorflow 1.15.0有要求tensorboard<1.16.0,>=1.15.0:解决方案是什么?

我有这个依赖项列表:

absl-py==0.7.0
bleach==1.5.0
click==6.7
cycler==0.10.0
decorator==4.2.1
futures==3.1.1
h5py==2.7.1
html5lib==0.9999999
imageio==2.2.0
Keras==2.1.5
Markdown==2.6.11
matplotlib==3.1.1
networkx==2.1
numpy==1.16.0
Pillow==5.0.0
pip-autoremove==0.9.0
protobuf==3.7
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
PyWavelets==0.5.2
PyYAML==3.12
scikit-image==0.13.1
scipy==1.1.0
six==1.12.0
tensorflow-gpu
tensorflow-tensorboard==1.5.1
tqdm==4.19.5
Werkzeug==0.15
Run Code Online (Sandbox Code Playgroud)

我有这些错误:

错误:tensorflow 1.15.0 要求tensorboard<1.16.0,>=1.15.0,但您将拥有不兼容的tensorboard 2.0.0。

错误:tensorflow 1.15.0 要求tensorflow-estimator==1.15.1,但您将拥有不兼容的tensorflow-estimator 2.0.1。

错误:datascience 0.10.6 要求 folium==0.2.1,但您将拥有不兼容的 folium 0.8.3。

错误:albumentations 0.1.12 要求 imgaug<0.2.7,>=0.2.5,但您将拥有不兼容的 imgaug 0.2.9。

解决办法是什么?我应该使用外部工具来解决这个依赖问题吗?

python dependencies dependency-management tensorflow

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

使用 Tensorflow 进行三重张量积

假设我有一个矩阵A和两个x,y适当维度的向量。我想计算点积x' * A * y,其中x'表示转置。这应该会产生一个标量。

Tensorflow中有方便的API函数来做到这一点吗?

(请注意,我使用的是 Tensorflow 2)。

linear-algebra tensorflow tensorflow2.0

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

如何在 Keras CNN 模型中预测单个图像?

我按照本指南学习使用 CNN 进行图像分类,并将此代码实现到我的数据集中:

https://www.tensorflow.org/tutorials/images/classification

train_image_generator = ImageDataGenerator(rescale=1. / 255)  # Generator for our training data
validation_image_generator = ImageDataGenerator(rescale=1. / 255)  # Generator for our validation data

train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
                                                           directory=train_img_folder,
                                                           shuffle=True,
                                                           target_size=(IMG_HEIGHT, IMG_WIDTH),
                                                           class_mode='categorical',
                                                           color_mode='grayscale')

val_data_gen = validation_image_generator.flow_from_directory(batch_size=batch_size,
                                                              directory=valid_img_folder,
                                                              target_size=(IMG_HEIGHT, IMG_WIDTH),
                                                              class_mode='categorical',
                                                              color_mode='grayscale'
                                                              )

model = Sequential([
    Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH, 1)),
    MaxPooling2D(),
    Conv2D(32, 3, padding='same', activation='relu'),
    MaxPooling2D(),
    Conv2D(64, 3, padding='same', activation='relu'),
    MaxPooling2D(),
    Flatten(),
    Dense(512, activation='relu'),
    Dense(3, activation='softmax')
])

model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

history = model.fit_generator(
    train_data_gen,
    steps_per_epoch=total_train_value // …
Run Code Online (Sandbox Code Playgroud)

python machine-learning image-processing keras tensorflow

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

在keras上遇到多个输出的问题

我正在使用带有新功能 API 的 Keras 神经网络的 one-hot 编码。我遇到了如下所示的错误:

Failed to find data adapter that can handle input: (<class 'list'> containing values of types {'(<class \'list\'> containing values of types {\'(<class \\\'list\\\'> containing values of types {\\\'(<class \\\\\\\'list\\\\\\\'> containing values of types {"<class \\\\\\\'int\\\\\\\'>"})\\\'})\'})'}), (<class 'dict'> containing {"<class 'str'>"} keys and {'(<class \'list\'> containing values of types {\'(<class \\\'list\\\'> containing values of types {"<class \\\'int\\\'>"})\'})'} values)
Run Code Online (Sandbox Code Playgroud)

如果我没有记错的话,我相信网络不接受一种热编码作为合适的输出。有谁知道这个错误的解决方法?

代码片段:

import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras …
Run Code Online (Sandbox Code Playgroud)

machine-learning neural-network keras tensorflow

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

尝试使用 TimeSeriesGenerator 时 pandas 出现关键错误

我是 TF/Keras/ML 的初学者,正在开发我的第一个非指导项目。这个想法是创建一个 RNN,它可以预测给定股票在给定日期的“变动”(我目前将其定义为开盘价高于/低于收盘价)。我的想法是训练 RNN 根据实际价格数据和一大堆技术指标来预测给定日期的价格变动。

原始数据如下所示。 原始数据

我希望模型输出的内容如下所示。

输出数据

然后,我尝试创建两个 TimeseriesGenerator 对象,其中缩放的原始数据作为数据传入,上面显示的理想输出作为目标传入。我希望该模型能够接收所有这些信息并输出一个类别,该类别将告诉我其预测的价格变动。此外,我希望该模型能够对未来的价格变动进行预测。 在此输入图像描述

实际模型本身相当简单,几个 LSTM 层馈入密集层,最终输出层是一个神经元,我想用它来确定类别。

model = Sequential()

model.add(LSTM(2000,input_shape=(length,scaled_train.shape[1]), return_sequences=True))
model.add(Dropout(0.2))

model.add(LSTM(1000,input_shape=(length,scaled_train.shape[1]), return_sequences=True))
model.add(Dropout(0.2))

model.add(LSTM(500,input_shape=(length,scaled_train.shape[1])))
model.add(Dropout(0.2))

# model.add(Dense(1000))
model.add(Dense(250))

model.add(Dense(1))

model.compile(optimizer='adam',loss='binary_crossentropy')
Run Code Online (Sandbox Code Playgroud)

执行所有这些操作时遇到的错误是非描述性关键错误,该错误在模型上调用 fit_generator 时或尝试从生成器本身获取给定的输入/输出组合时发生。 在此输入图像描述

我认为我对 TimeseriesGenerator 在幕后实际所做的事情存在误解。我的方法有什么问题?我该如何纠正它以实现我的目标?

python pandas keras tensorflow recurrent-neural-network

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

使用softmax作为输出函数,同时使用binary_crossentropy作为损失函数?

目前我正在训练二元分类模型。我喜欢有两个概率(每个现有类一个)的想法,它们的总和为 1。因此,我在输出层中使用了 softmax,并且获得了非常高的准确度(高达 99.5%),同时损失也非常低0,007。在进行一些研究时,我发现二元交叉熵是训练二维分类问题时唯一真正的选择。

现在,当我想使用softmax时,我是否必须使用classification_crossentropy作为损失函数,我感到很困惑。您能帮助我了解二元分类问题中应该使用什么作为损失函数和激活函数以及为什么?

这是我的代码:

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(10, input_dim=input_dim, activation='sigmoid'))
model.add(tf.keras.layers.Dense(10, activation='sigmoid'))
model.add(tf.keras.layers.Dense(2, activation='softmax'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

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