因此,在我的 Coursera 课程中,我需要构建这个相当简单的应用程序,以从外部 api 获取和显示数组。我正在使用 ruby on rails 框架。(我使用的是 Windows 10)
控制器 -
class CoursesController < ApplicationController
def index
@search_term = params[:looking_for] || 'jhu'
@courses = Coursera.for(@search_term)
end
end
Run Code Online (Sandbox Code Playgroud)
模型
class Coursera
include HTTParty
default_options.update(verify: false) # Turn off SSL verification
base_uri 'https://api.coursera.org/api/courses.v1'
default_params fields: "photoUrl,description",q: "search"
format :json
def self.for term
get("",query: {query: term}) ["elements"]
end
end
Run Code Online (Sandbox Code Playgroud)
该视图无关紧要,因为它可以正常工作。但在我的其他应用程序中,我收到此错误 -
Errno::ECONNREFUSED: Failed to open TCP connection to :80 (Connection refused - connect(2) for nil port 80)
Run Code Online (Sandbox Code Playgroud)
这是我遇到问题的另一个应用程序 -
控制器 - …
我手动安装了CUDA v9.2和相应的cuDNN以安装tensorflow gpu,但我意识到tensorflow 1.8.0需要CUDA 9.0,所以我运行了
pip install tensorflow-gpu
Run Code Online (Sandbox Code Playgroud)
从anaconda提示(基本环境)中自动安装CUDA 9.0和相应的cuDNN。我从同一命令提示符启动了Spyder。所以这是我在Python 3.6中的代码,其中我正在使用keras和tensorflow来训练8000个奇数图像-
# Convolutional Neural Networks
# Part 1 - Building the CNN
# Not important
# Part 2- Fitting the CNN to the images -
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
training_set = train_datagen.flow_from_directory(
'dataset/training_set',
target_size=(64, 64),
batch_size=32,
class_mode='binary')
test_set = test_datagen.flow_from_directory(
'dataset/test_set',
target_size=(64, 64),
batch_size=32,
class_mode='binary')
with tf.device("/gpu:0"): # Notice THIS
classifier.fit_generator(
training_set,
steps_per_epoch=8000,
epochs=25,
validation_data=test_set,
validation_steps=2000)
Run Code Online (Sandbox Code Playgroud)
注意,在最后拟合数据集之前,我将其放入
with tf.device("/gpu:0"):
Run Code Online (Sandbox Code Playgroud)
我认为这应该确保它使用GPU进行训练?我不确定,因为将“ …