小编use*_*651的帖子

fast.ai 不使用 GPU

当我使用 fast.ai 运行训练时,仅使用 CPU,即使

import torch; print(torch.cuda.is_available())
Run Code Online (Sandbox Code Playgroud)

显示 CUDA 可用,并且 GPU 上的一些内存被我的训练过程占用。

from main import DefectsImagesDataset
from fastai.vision.all import *
import numpy as np

NUM_ELEMENTS = 1e5
CSV_FILES = {
    'events_path':
        './data/events.csv',
    'defects_path':
        './data/defects2020_all.csv',
    }

defects_dataset = DefectsImagesDataset(CSV_FILES['defects_path'], CSV_FILES['events_path'], NUM_ELEMENTS, window_size=10000)
model = models.resnet34
BATCH_SIZE = 16
NUMBER_WORKERS = 8
dls = DataLoaders.from_dsets(defects_dataset, defects_dataset, bs=BATCH_SIZE, num_workers=NUMBER_WORKERS)

import torch; print(torch.cuda.is_available())

loss_func = nn.CrossEntropyLoss()
learn = cnn_learner(dls, models.resnet34, metrics=error_rate, n_out=30, loss_func=loss_func)

learn.fit_one_cycle(1)

Run Code Online (Sandbox Code Playgroud)

CUDA 版本:11.5

Fast.ai-版本:2.5.3

如何让 fast.ai 使用 GPU?

deep-learning pytorch fast-ai

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

Keras模型不学习

我的Keras模型没有学习任何东西,我无法弄清楚原因.我甚至将训练集大小减少到5个元素,并且模型仍然不适合训练数据.

使用TensorBoard可视化的损失函数

这是我的代码:

model = Sequential()
model.add(Conv1D(30, filter_length=3, activation='relu', input_shape=(50, 1)))
model.add(Conv1D(40, filter_length=(3), activation='relu'))
model.add(Conv1D(120, filter_length=(3), activation='relu'))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dense(256, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='relu'))
model.summary()
model.compile(loss='mse',
              optimizer=keras.optimizers.adam())


train_limit = 5 
batch_size = 4096 
tb = keras.callbacks.TensorBoard(log_dir='./logs/' + run_name + '/', 
    histogram_freq=0, write_images=False)
tb.set_model(model)
model.fit(X_train[:train_limit], y_train[:train_limit],
          batch_size=batch_size,
          nb_epoch=10**4,
          verbose=0,
          validation_data=(X_val[:train_limit], y_val[:train_limit]),
          callbacks=[tb])
score = model.evaluate(X_test, y_test, verbose=0)
print('Test loss:', score)
print('Test accuracy:', score)
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏!

python machine-learning deep-learning keras tensorflow

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

检查模型目标时出错:预期dense_39有3个维度,但得到的形状为数组(940,1)

我正在尝试训练这个卷积神经网络,但无法弄清楚我的最后一层是什么问题.

model = Sequential()
model.add(Conv1D(50, kernel_size=(1),
                 activation='relu',
                 input_dim=50))
model.add(Dense(32))
model.add(Dense(1))
model.summary()
model.compile(loss=keras.losses.mean_squared_error,
              optimizer=keras.optimizers.adam())

model.fit(X_train, y_train,
          batch_size=940,
          epochs=10,
          verbose=1,
          validation_data=(X_test, y_test))
Run Code Online (Sandbox Code Playgroud)

模型:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv1d_26 (Conv1D)           (None, None, 50)          2550      
_________________________________________________________________
dense_38 (Dense)             (None, None, 32)          1632      
_________________________________________________________________
dense_39 (Dense)             (None, None, 1)           33        
=================================================================
Total params: 4,215.0
Trainable params: 4,215
Non-trainable params: 0.0
_________________________________________________________________
Run Code Online (Sandbox Code Playgroud)

我总是收到以下错误消息:

ValueError:检查模型目标时出错:期望dense_39有3个维度,但得到的数组有形状(940,1)

我怀疑问题是,对于最后一层,我只有一个输出节点,因此输出尺寸减少到两个.

numpy neural-network deep-learning keras keras-layer

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