首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我将repo从Github导入到Colab,当我运行它时没有响应

我将repo从Github导入到Colab,当我运行它时没有响应
EN

Stack Overflow用户
提问于 2020-04-04 02:30:36
回答 1查看 72关注 0票数 0

我将this存储库导入到Colab。这个项目的目标是检测车辆。

代码语言:javascript
复制
import os
os.chdir("/content/drive/uygulama")
!git clone https://github.com/xuannianz/EfficientDet.git
!python3 /content/drive/uygulama/EfficientDet/inference.py

我看到了一个很长的回应。没有任何错误。但也没有任何回应。当我在Anaconda提示符上运行它时。我能看到视频。

代码语言:javascript
复制
2020-04-03 18:16:19.781211: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-04-03 18:16:21.705357: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-04-03 18:16:21.718914: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.719461: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: 
pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0
coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2020-04-03 18:16:21.719526: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-04-03 18:16:21.719593: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-04-03 18:16:21.719625: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-04-03 18:16:21.719657: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-04-03 18:16:21.719687: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-04-03 18:16:21.720621: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-04-03 18:16:21.720704: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-04-03 18:16:21.720808: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.721346: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.721859: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0
2020-04-03 18:16:21.727125: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2200000000 Hz
2020-04-03 18:16:21.727305: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x1d65100 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-04-03 18:16:21.727352: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-04-03 18:16:21.816983: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.817861: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x1d652c0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-04-03 18:16:21.817893: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Tesla P100-PCIE-16GB, Compute Capability 6.0
2020-04-03 18:16:21.818109: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.818693: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: 
pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0
coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2020-04-03 18:16:21.818752: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-04-03 18:16:21.818776: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-04-03 18:16:21.818804: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-04-03 18:16:21.818827: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-04-03 18:16:21.818846: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-04-03 18:16:21.818891: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-04-03 18:16:21.818909: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-04-03 18:16:21.819005: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.819632: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:21.820138: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0
2020-04-03 18:16:21.820201: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-04-03 18:16:22.362078: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-04-03 18:16:22.362140: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108]      0 
2020-04-03 18:16:22.362153: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1121] 0:   N 
2020-04-03 18:16:22.362389: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:22.363088: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-04-03 18:16:22.363704: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
2020-04-03 18:16:22.363748: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14974 MB memory) -> physical GPU (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0)

然后,什么都不会发生。我希望看到一帧又一帧的视频。为什么没有任何回应?

这是inference.py

代码语言:javascript
复制
import cv2
import json
import numpy as np
import os
import time
import glob

from model import efficientdet
from utils import preprocess_image, postprocess_boxes
from utils.draw_boxes import draw_boxes


def main():
    os.environ['CUDA_VISIBLE_DEVICES'] = '0' #ekran kartı olsaydı 0 -> 1 olacaktı.

    phi = 0 # çözünürlük indisi. phi ne ile eğittiyseniz ona göre ayarlayacaksınız.
    weighted_bifpn = True
    model_path = '/content/drive/uygulama/EfficientDet/efficientdet-d0.h5' #modelin pathi ve kendisi. 
    #çözünürlük olarak 512 yi mi seçtik indisi 0 yaparak: evet.
    image_sizes = (512, 640, 768, 896, 1024, 1280, 1408)
    image_size = image_sizes[phi]
    # coco classes
    classes = {value['id'] - 1: value['name'] for value in json.load(open('/content/drive/uygulama/EfficientDet/coco_90.json', 'r')).values()} # bu datasetler 90 farklı nesneye göre 
    #oluşturulmuş datasetler siz eğer sadece araba, kamyon gibi şeyleri almak istiyorsanız. coco_90.json bu dosyaya gidip aradığınız nesnenin labelına bakacaksınız.
    # örneğin car 3 bisiklet 2 bunu bir if else yapısı ile aşağıda ayrıştıracaksınız.
    num_classes = 90
    score_threshold = 0.3 # modelin verdiği score'un eşiklenmesi. Örneğin bir nesneye 0.2 dediyse onu almayacak.
    #anladım bunun bir formülü var mı deneme yanılma mı? : Modelin başarısına göre siz ayarlayacaksınız. Deneme yanılma biraz.
    colors = [np.random.randint(0, 256, 3).tolist() for _ in range(num_classes)]
    _, model = efficientdet(phi=phi,
                            weighted_bifpn=weighted_bifpn, #false yapıp dene
                            num_classes=num_classes,
                            score_threshold=score_threshold)
    model.load_weights(model_path, by_name=True)

    cap = cv2.VideoCapture('t.mp4')

    while cap.isOpened():
        ret,image = cap.read()
        src_image = image.copy()
        # BGR -> RGB
        image = image[:, :, ::-1]
        h, w = image.shape[:2]

        image, scale = preprocess_image(image, image_size=image_size)
        # run network
        start = time.time()
        boxes, scores, labels = model.predict_on_batch([np.expand_dims(image, axis=0)]) # modelin çalıştığı yer
        boxes, scores, labels = np.squeeze(boxes), np.squeeze(scores), np.squeeze(labels)
        print(time.time() - start)
        boxes = postprocess_boxes(boxes=boxes, scale=scale, height=h, width=w)

        # select indices which have a score above the threshold
        indices = np.where(scores[:] > score_threshold)[0] # eşiklemenin yapıldığı yer.

        # select those detections
        boxes = boxes[indices]
        labels = labels[indices]
        #buradaki labels hangi cisme ait olduğunu gösterir. Bu değer 3 ise o arabadır. Umarım anlatabilmişimdir.
        #şöyle mi olacak? if label == 3 ise alt kısmı gerçkleştir?: Aynen öyle. Tabi bu sizin kodlama becerinize bağlı olarak uğraştırabilir. :)
        # 0.93 yazan confidence değeri.
        # kodlama becerisi derken? basit bir if else yapısı gibi duruyor. o yüzden sordum? : Tabi basit. Ama indisleri iyi seçmek lazım. Gözünüz korkmasın.

        if labels[0]==2 or labels[0]==3:
            draw_boxes(src_image, boxes, scores, labels, colors, classes)

            cv2.namedWindow('image', cv2.WINDOW_NORMAL)
            cv2.imshow('image', src_image)
            cv2.waitKey(0)
    cap.release()
    cv2.destroyAllWindows()  

if __name__ == '__main__':
    main()
EN

Stack Overflow用户

回答已采纳

发布于 2020-04-04 10:09:19

问题就在这里

代码语言:javascript
复制
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', src_image)
cv2.waitKey(0)

它会尝试打开一个新窗口,然后等待你的键盘。但是Colab是在云中运行的。它无法访问您的窗口或键盘。您可以修改代码以保存图像并以另一种方式显示。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61018287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档