- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试将 PlayStation Eye Camera 用于深度强化学习项目。网络、TensorFlow 安装 (0.11) 和 CUDA (8.0) 都可以正常工作,因为我已经能够在模拟中训练网络。
现在,当我尝试从真实相机读取图像时,网络代码崩溃并出现以下错误。我的 OpenCV 安装 (3.2.0) 有错误还是有其他问题?我将永远感激不尽,因为我还没有找到有关此问题的任何信息。
E tensorflow/stream_executor/cuda/cuda_blas.cc:367] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "main.py", line 48, in worker
action = dqn.getAction()
File "../network/evaluation.py", line 141, in getAction
Q_value = self.Q_value.eval(feed_dict= {self.input_state:[self.currentState]})[0]
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 559, in eval
return _eval_using_default_session(self, feed_dict, self.graph, session)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 3761, in _eval_using_default_session
return session.run(tensors, feed_dict)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 717, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 915, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 965, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 985, in _do_call
raise type(e)(node_def, op, message)
InternalError: Blas SGEMM launch failed : a.shape=(1, 1600), b.shape=(1600, 4), m=1, n=4, k=1600
[[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Reshape, Variable_6/read)]]
相机类的相关代码:
# OpenCV
import numpy as np
import cv2
# scipy
from scipy.misc import imresize
# Time
from time import time
# Clean exit
import sys
import os
# Max value for the gray values
MAX_GRAY = 255.0
INPUT_SIZE = 75
class Camera:
# Initialization method
def __init__(self, duration, exchanger, framesPerAction = 10, width = 640, height = 480, show = True):
# Create the video capture
self.cap = cv2.VideoCapture(1)
# Set the parameters of the capture
self.cap.set(3, width)
self.cap.set(4, height)
self.cap.set(5, 30)
# Get the properties of the capture
self.width = int(self.cap.get(3))
self.height = int(self.cap.get(4))
self.fps = int(self.cap.get(5))
# Print these properties
print 'Width:', self.width, '| Height:', self.height, '| FPS:', self.fps
# Duration that the camera should be running
self.duration = duration
# Number of frames that should be between every extracted frame
self.framesPerAction = framesPerAction
# Exchanges the frames with the network
self.exchanger = exchanger
# Display the frames on the monitor
self.show = show
# Counter for the number of frames since the last action
self.frameCounter = 0
# Starts the loop for the camera
def run(self):
startTime = time()
# Loop for a certain time
while(self.duration > time() - startTime):
# Check frames per second
# print 'Start of this frame', time()-startTime
# Capture frame-by-frame
ret, frame = self.cap.read()
# Close when user types ESCAPE(27)
if cv2.waitKey(1) & 0xFF == 27:
break
# Increment framecounter
if(self.frameCounter != self.framesPerAction):
self.frameCounter += 1
# Extract the resulting frame
else:
# Crop to square
step = int((640 - 480) / 2)
result = frame[0 : 480, step : step + 480]
# Downsample the image
# result = cv2.resize(gray, (75, 75))
result = imresize(result, size=(75, 75, 3))
# Transform to grayscale
# gray = cv2.cvtColor(input, cv2.COLOR_BGR2GRAY)
result = self.rgb2gray(result)
# Change range of image from [0,255] --> [0, 1]
result = result / 255.0
# Store the frame on the exchanger
self.exchanger.store(0, False, result)
# reset framecounter
self.frameCounter = 0
# Display the frame on the monitor
if(self.show):
cv2.imshow('frame', frame)
# When everything done, release the capture
self.cap.release()
cv2.destroyAllWindows()
# Exit so that the network thread also stops running
os._exit(0)
最佳答案
也许下面的命令有帮助:
sudo rm -rf .nv/
祝你好运。
关于python - 无法创建 CUBLAS 句柄。 Tensorflow 与 OpenCV 的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42488615/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!