發燒友10周年慶典,全網超值優惠來襲!千元現金券,下單抽獎趕緊參與》》

基于YOLOv3的紅綠燈檢測識別(Python源碼可直接運行)

2019-09-18 15:43 ? 次閱讀

在實習的期間為公司寫的紅綠燈檢測,基于YOLOv3的訓練好的權重,不需要自己重新訓練,只需要調用yolov3.weights,可以做到視頻或圖片中紅綠燈的檢測識別。

自動檢測識別效果

1.紅燈檢測

20190703202223847.png

2.綠燈檢測

20190703202321755.png

python源碼

"""
Class definition of YOLO_v3 style detection model on image and video
"""

import colorsys
import os
from timeit import default_timer as timer
import cv2
import numpy as np
from keras import backend as K
from keras.models import load_model
from keras.layers import Input
from PIL import Image, ImageFont, ImageDraw

from yolo3.model import yolo_eval, yolo_body, tiny_yolo_body
from yolo3.utils import letterbox_image
import os
from keras.utils import multi_gpu_model
import collections


class YOLO(object):
? ? _defaults = {
? ? ? ? "model_path": ''model_data/yolo.h5'',
? ? ? ? "anchors_path": ''model_data/yolo_anchors.txt'',
? ? ? ? "classes_path": ''model_data/coco_classes.txt'',
? ? ? ? "score" : 0.3,
? ? ? ? "iou" : 0.35,
? ? ? ? "model_image_size" : (416, 416),
? ? ? ? "gpu_num" : 1,
? ? }

? ? @classmethod
? ? def get_defaults(cls, n):
? ? ? ? if n in cls._defaults:
? ? ? ? ? ? return cls._defaults[n]
? ? ? ? else:
? ? ? ? ? ? return "Unrecognized attribute name ''" + n + "''"

? ? def __init__(self, **kwargs):
? ? ? ? self.__dict__.update(self._defaults) # set up default values
? ? ? ? self.__dict__.update(kwargs) # and update with user overrides
? ? ? ? self.class_names = self._get_class()
? ? ? ? self.anchors = self._get_anchors()
? ? ? ? self.sess = K.get_session()
? ? ? ? self.boxes, self.scores, self.classes = self.generate()

? ? def _get_class(self):
? ? ? ? classes_path = os.path.expanduser(self.classes_path)
? ? ? ? with open(classes_path) as f:
? ? ? ? ? ? class_names = f.readlines()
? ? ? ? class_names = [c.strip() for c in class_names]
? ? ? ? return class_names

? ? def _get_anchors(self):
? ? ? ? anchors_path = os.path.expanduser(self.anchors_path)
? ? ? ? with open(anchors_path) as f:
? ? ? ? ? ? anchors = f.readline()
? ? ? ? anchors = [float(x) for x in anchors.split('','')]
? ? ? ? return np.array(anchors).reshape(-1, 2)

? ? def generate(self):
? ? ? ? model_path = os.path.expanduser(self.model_path)
? ? ? ? assert model_path.endswith(''.h5''), ''Keras model or weights must be a .h5 file.''

? ? ? ? # Load model, or construct model and load weights.
? ? ? ? num_anchors = len(self.anchors)
? ? ? ? num_classes = len(self.class_names)
? ? ? ? is_tiny_version = num_anchors==6 # default setting
? ? ? ? try:
? ? ? ? ? ? self.yolo_model = load_model(model_path, compile=False)
? ? ? ? except:
? ? ? ? ? ? self.yolo_model = tiny_yolo_body(Input(shape=(None,None,3)), num_anchors//2, num_classes) \
? ? ? ? ? ? ? ? if is_tiny_version else yolo_body(Input(shape=(None,None,3)), num_anchors//3, num_classes)
? ? ? ? ? ? self.yolo_model.load_weights(self.model_path) # make sure model, anchors and classes match
? ? ? ? else:
? ? ? ? ? ? assert self.yolo_model.layers[-1].output_shape[-1] == \
? ? ? ? ? ? ? ? num_anchors/len(self.yolo_model.output) * (num_classes + 5), \
? ? ? ? ? ? ? ? ''Mismatch between model and given anchor and class sizes''

? ? ? ? print(''{} model, anchors, and classes loaded.''.format(model_path))

? ? ? ? # Generate colors for drawing bounding boxes.
? ? ? ? hsv_tuples = [(x / len(self.class_names), 1., 1.)
? ? ? ? ? ? ? ? ? ? ? for x in range(len(self.class_names))]
? ? ? ? self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples))
? ? ? ? self.colors = list(
? ? ? ? ? ? map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)),
? ? ? ? ? ? ? ? self.colors))
? ? ? ? np.random.seed(10101)? # Fixed seed for consistent colors across runs.
? ? ? ? np.random.shuffle(self.colors)? # Shuffle colors to decorrelate adjacent classes.
? ? ? ? np.random.seed(None)? # Reset seed to default.

? ? ? ? # Generate output tensor targets for filtered bounding boxes.
? ? ? ? self.input_image_shape = K.placeholder(shape=(2, ))
? ? ? ? if self.gpu_num>=2:
? ? ? ? ? ? self.yolo_model = multi_gpu_model(self.yolo_model, gpus=self.gpu_num)
? ? ? ? boxes, scores, classes = yolo_, self.input_image_shape,
? ? ? ? ? ? ? ? score_threshold=self.score, iou_threshold=self.iou)
? ? ? ? return boxes, scores, classes

? ? def getColorList(self):
? ? ? ? dict = collections.defaultdict(list)

? ? ? ? # 紅色
? ? ? ? lower_red = np.array([156, 43, 46])
? ? ? ? upper_red = np.array([180, 255, 255])
? ? ? ? color_list = []
? ? ? ? color_list.append(lower_red)
? ? ? ? color_list.append(upper_red)
? ? ? ? dict[''red''] = color_list

? ? ? ? # 紅色2
? ? ? ? lower_red = np.array([0, 43, 46])
? ? ? ? upper_red = np.array([10, 255, 255])
? ? ? ? color_list = []
? ? ? ? color_list.append(lower_red)
? ? ? ? color_list.append(upper_red)
? ? ? ? dict[''red2''] = color_list

? ? ? ? # 橙色
? ? ? ? lower_orange = np.array([11, 43, 46])
? ? ? ? upper_orange = np.array([25, 255, 255])
? ? ? ? color_list = []
? ? ? ? color_list.append(lower_orange)
? ? ? ? color_list.append(upper_orange)
? ? ? ? dict[''orange''] = color_list

? ? ? ? # 黃色
? ? ? ? lower_yellow = np.array([26, 43, 46])
? ? ? ? upper_yellow = np.array([34, 255, 255])
? ? ? ? color_list = []
? ? ? ? color_list.append(lower_yellow)
? ? ? ? color_list.append(upper_yellow)
? ? ? ? dict[''yellow''] = color_list

? ? ? ? # 綠色
? ? ? ? lower_green = np.array([35, 43, 46])
? ? ? ? upper_green = np.array([77, 255, 255])
? ? ? ? color_list = []
? ? ? ? color_list.append(lower_green)
? ? ? ? color_list.append(upper_green)
? ? ? ? dict[''green''] = color_list
? ? ? ? return dict

? ? def get_color(self,frame):
? ? ? ? print(''go in get_color'')
? ? ? ? hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
? ? ? ? maxsum = -100
? ? ? ? color = None
? ? ? ? color_dict = self.getColorList()
? ? ? ? score = 0
? ? ? ? type = ''black''
? ? ? ? for d in color_dict:
? ? ? ? ? ? mask = cv2.inRange(hsv, color_dict[d][0], color_dict[d][1])
? ? ? ? ? ? # print(cv2.inRange(hsv, color_dict[d][0], color_dict[d][1]))
? ? ? ? ? ? #cv2.imwrite(''images/triffic/'' + f + d + ''.jpg'', mask)
? ? ? ? ? ? binary = cv2.threshold(mask, 127, 255, cv2.THRESH_BINARY)[1]
? ? ? ? ? ? binary = cv2.dilate(binary, None, iterations=2)
? ? ? ? ? ? img, cnts, hiera = cv2.findContours(binary.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
? ? ? ? ? ? sum = 0
? ? ? ? ? ? for c in cnts:
? ? ? ? ? ? ? ? sum += cv2.contourArea(c)

? ? ? ? ? ? if sum > maxsum:
? ? ? ? ? ? ? ? maxsum = sum
? ? ? ? ? ? ? ? color = d
? ? ? ? ? ? if sum > score:
? ? ? ? ? ? ? ? score = sum
? ? ? ? ? ? ? ? type = d
? ? ? ? return type



? ? def detect_image(self, image,path):
? ? ? ? print(''class'',self._get_class())

? ? ? ? start = timer()

? ? ? ? if self.model_image_size != (None, None):
? ? ? ? ? ? assert self.model_image_size[0]%32 == 0, ''Multiples of 32 required''
? ? ? ? ? ? assert self.model_image_size[1]%32 == 0, ''Multiples of 32 required''
? ? ? ? ? ? boxed_image = letterbox_image(image, tuple(reversed(self.model_image_size)))
? ? ? ? else:
? ? ? ? ? ? new_image_size = (image.width - (image.width % 32),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? image.height - (image.height % 32))
? ? ? ? ? ? boxed_image = letterbox_image(image, new_image_size)
? ? ? ? image_data = np.array(boxed_image, dtype=''float32'')

? ? ? ? print(image_data.shape)
? ? ? ? image_data /= 255.
? ? ? ? image_data = np.expand_dims(image_data, 0)? # Add batch dimension.


? ? ? ? out_boxes, out_scores, out_classes = self.sess.run(
? ? ? ? ? ? [self.boxes, self.scores, self.classes],
? ? ? ? ? ? feed_dict={
? ? ? ? ? ? ? ? self.yolo_model.input: image_data,
? ? ? ? ? ? ? ? self.input_image_shape: [image.size[1], image.size[0]],
? ? ? ? ? ? ? ? K.learning_phase(): 0
? ? ? ? ? ? })

? ? ? ? print(''Found {} boxes for {}''.format(len(out_boxes), ''img''))

? ? ? ? font = ImageFont.truetype(font=''font/FiraMono-Medium.otf'',
? ? ? ? ? ? ? ? ? ? size=np.floor(3e-2 * image.size[1] + 0.5).astype(''int32''))
? ? ? ? thickness = (image.size[0] + image.size[1]) // 300
? ? ? ? thickness = 5
? ? ? ? print(''thickness'',thickness)
? ? ? ? print(''out_classes'',out_classes)
? ? ? ? my_class = [''traffic light'']
? ? ? ? imgcv = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)

? ? ? ? for i, c in reversed(list(enumerate(out_classes))):
? ? ? ? ? ? predicted_class = self.class_names[c]
? ? ? ? ? ? print(''predicted_class'',predicted_class)
? ? ? ? ? ? if predicted_class not in my_class:
? ? ? ? ? ? ? ? continue
? ? ? ? ? ? box = out_boxes[i]
? ? ? ? ? ? score = out_scores[i]

? ? ? ? ? ? label = ''{} {:.2f}''.format(predicted_class, score)

? ? ? ? ? ? draw = ImageDraw.Draw(image)

? ? ? ? ? ? label_size = draw.textsize(label, font)

? ? ? ? ? ? top, left, bottom, right = box
? ? ? ? ? ? top = max(0, np.floor(top + 0.5).astype(''int32''))
? ? ? ? ? ? left = max(0, np.floor(left + 0.5).astype(''int32''))
? ? ? ? ? ? bottom = min(image.size[1], np.floor(bottom + 0.5).astype(''int32''))
? ? ? ? ? ? right = min(image.size[0], np.floor(right + 0.5).astype(''int32''))
? ? ? ? ? ? print(label, (left, top), (right, bottom))
? ? ? ? ? ? img2 = imgcv[top:bottom, left:right]
? ? ? ? ? ? color = self.get_color(img2)
? ? ? ? ? ? cv2.imwrite(''images/triffic/''+path+str(i) + ''.jpg'', img2)
? ? ? ? ? ? if color== ''red'' or color == ''red2'':
? ? ? ? ? ? ? ? cv2.rectangle(imgcv, (left, top), (right, bottom), color=(0, 0, 255),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lineType=2, thickness=8)
? ? ? ? ? ? ? ? cv2.putText(imgcv, ''{0} {1:.2f}''.format(color, score),
? ? ? ? ? ? ? ? ? ? ? ? ? ? (left, top - 15),
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.FONT_HERSHEY_SIMPLEX,
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.2, (0, 0, 255), 4,
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.LINE_AA)
? ? ? ? ? ? elif color == ''green'':
? ? ? ? ? ? ? ? cv2.rectangle(imgcv, (left, top), (right, bottom), color=(0, 255, 0),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lineType=2, thickness=8)
? ? ? ? ? ? ? ? cv2.putText(imgcv, ''{0} {1:.2f}''.format(color, score),
? ? ? ? ? ? ? ? ? ? ? ? ? ? (left, top - 15),
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.FONT_HERSHEY_SIMPLEX,
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.2, (0, 255, 0), 4,
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.LINE_AA)
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? cv2.rectangle(imgcv, (left, top), (right, bottom), color=(255, 0, 0),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lineType=2, thickness=8)
? ? ? ? ? ? ? ? cv2.putText(imgcv, ''{0} {1:.2f}''.format(color, score),
? ? ? ? ? ? ? ? ? ? ? ? ? ? (left, top - 15),
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.FONT_HERSHEY_SIMPLEX,
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.2, (255, 0, 0), 4,
? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.LINE_AA)

? ? ? ? ? ? print(imgcv.shape)
? ? ? ? end = timer()
? ? ? ? print(end - start)
? ? ? ? return imgcv

? ? def close_session(self):
? ? ? ? self.sess.close()

def detect_img(yolo, img_path,fname):
? ? img = Image.open(img_path)
? ? import time
? ? t1 = time.time()

? ? img = yolo.detect_image(img,fname)
? ? print(''time: {}''.format(time.time() - t1))
? ? return img
? ? #yolo.close_session()

if __name__ == ''__main__'':
? ? yolo = YOLO()
? ? video_full_path = ''images/triffic.mp4''
? ? output = ''images/res.avi''
? ? cap = cv2.VideoCapture(video_full_path)
? ? cap.set(cv2.CAP_PROP_POS_FRAMES, 1)? # 設置要獲取的幀號

? ? fourcc = cv2.VideoWriter_fourcc(*''XVID'')
? ? fps = cap.get(cv2.CAP_PROP_FPS)
? ? size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))

? ? out = cv2.VideoWriter(output, fourcc, fps, size)
? ? ret = True
? ? count = 0
? ? while ret :
? ? ? ? count+=1
? ? ? ? ret, frame = cap.read()
? ? ? ? if not ret :
? ? ? ? ? ? print(''結束'')
? ? ? ? ? ? break
? ? ? ? image = Image.fromarray(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))
? ? ? ? image = yolo.detect_image(image,''pic'')
? ? ? ? out.write(image)

? ? cap.release()
? ? out.release()
? ? cv2.destroyAllWindows()
收藏 人收藏
分享:

評論

相關推薦

零基礎Python入門教程二

隨著新技術的不斷推進,在未來無論你要進入網頁開發、數據分析、機器學習、人工智能還是無人車等領域,Python 都是必不可
發表于 04-09 00:00 ? 0次 閱讀
零基礎Python入門教程二

OpenCV 3計算機視覺使用Python語言實現第二版PDF電子書免費下載

OpenCV 3是一種先進的計算機視覺庫,可以用于各種圖像和視頻處理操作,通過OpenCV 3 能很....
發表于 09-30 17:28 ? 66次 閱讀
OpenCV 3計算機視覺使用Python語言實現第二版PDF電子書免費下載

IAR編譯C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\OADTarget\時出現錯誤

用IAR編譯C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\OADTarget\中的APP軟件出現錯誤 感覺是還需要安...
發表于 09-29 14:57 ? 60次 閱讀
IAR編譯C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\OADTarget\時出現錯誤

樹莓派4B如何自動運行Python程序

到目前為止,我們所有的樹莓派4BPython程序都是通過使用IDLE或通過控制臺窗口執行的。但是,我....
的頭像 陳翠 發表于 09-29 11:13 ? 278次 閱讀
樹莓派4B如何自動運行Python程序

Redis的安裝和使用步驟

Python操作Redis之安裝和使用(一)
發表于 09-29 09:29 ? 32次 閱讀
Redis的安裝和使用步驟

零基礎學python基礎教程PDF電子書免費下載

《零基礎學 Python》 是針對零基礎編程學習者研發的 Python 入門教程。從初學者角度出發,....
發表于 09-29 08:00 ? 73次 閱讀
零基礎學python基礎教程PDF電子書免費下載

人工智能工具的發展趨勢與選擇詳細說明

工程師可以使用大量的人工智能工具來幫助解決問題。識別工程師在人工智能工具方面的需求取決于許多相互關聯....
發表于 09-27 08:00 ? 51次 閱讀
人工智能工具的發展趨勢與選擇詳細說明

總結:一文了解Python中的數字類型

數字類型 數字類型是不可變類型。所謂的不可變類型,指的是類型的值一旦有不同了,那么它就是一個全新的對象。數字1和2分別代表...
發表于 09-26 16:49 ? 143次 閱讀
總結:一文了解Python中的數字類型

mysql與python交互方式概述

mysql與python交互(二)
發表于 09-25 06:04 ? 38次 閱讀
mysql與python交互方式概述

案例分享:用Python與HFSS設計一個微帶天線

我們知道HFSS是一款電磁仿真商用軟件,用其進行天線的設計十分方便。而該軟件也預留了可以運行腳本的接口,使用者可以使用腳...
發表于 09-24 16:33 ? 138次 閱讀
案例分享:用Python與HFSS設計一個微帶天線

python入門知識:什么是set集合

集合set set集合是一個無序不重復元素的集,基本功能包括關系測試和消除重復元素。集合使用大括號({})框定元素,并以逗號...
發表于 09-24 16:29 ? 102次 閱讀
python入門知識:什么是set集合

跟老齊學Python從入門到精通PDF電子書免費下載

跟老齊學Python:從入門到精通》是面向編程零基礎讀者的Python入門教程,內容涵蓋了Pytho....
發表于 09-24 08:00 ? 71次 閱讀
跟老齊學Python從入門到精通PDF電子書免費下載

Random Forest算法 python實現案例分析

隨機森林由Breiman提出的一種分類算法,它使用Bootstrap重采樣技術,從原始訓練樣本集中有....
的頭像 人工智能學研社 發表于 09-23 09:58 ? 342次 閱讀
 Random Forest算法 python實現案例分析

數據可視化-Seaborn系列的relplot用法解析

參數解讀:必須的參數x,y,data其他參數均為可選;x,y:數據中變量的名稱;data:是Data....
的頭像 人工智能學研社 發表于 09-23 09:43 ? 254次 閱讀
數據可視化-Seaborn系列的relplot用法解析

梯度提升方法(Gradient Boosting)算法案例

提升樹利用加法模型與前向分步算法實現學習的優化過程,當損失函數為平方損失和指數損失函數時,每一步優化....
的頭像 人工智能學研社 發表于 09-23 08:52 ? 375次 閱讀
梯度提升方法(Gradient Boosting)算法案例

最具影響力的十大編程語言及背后的開發者詳細介紹

軟件世界中有各種各樣的編程語言,每年還會有新的語言出現,最近發布的編程語言就有Scala、Kotli....
的頭像 全球人工智能 發表于 09-21 10:11 ? 397次 閱讀
最具影響力的十大編程語言及背后的開發者詳細介紹

入門必看:python學習第一課

一、python常用的函數 input函數 如x=input(“請輸入一個數”) 會將用戶輸入的值強制轉換為字符串類型的數據,然后自動賦給x ...
發表于 09-20 16:42 ? 281次 閱讀
入門必看:python學習第一課

使用Node.js在深度學習中做圖片預處理

做圖片預處理的目的是為了解決對象識別中訓練集不足的問題。當對象識別應用于某個專用領域的時候,就會遇到....
的頭像 倩倩 發表于 09-20 15:40 ? 283次 閱讀
使用Node.js在深度學習中做圖片預處理

我想學習機器學習和人工智能,該從哪開始呢?

當人們發現我的作品,他們通常會私信并提問。我不一定知道所有的答案,但我會盡量回復。人們最常問的問題是....
的頭像 倩倩 發表于 09-20 10:21 ? 352次 閱讀
我想學習機器學習和人工智能,該從哪開始呢?

Python數據處理代碼合集免費下載

本文檔的主要內容詳細介紹的是Python數據處理代碼合集免費下載。
發表于 09-20 08:00 ? 66次 閱讀
Python數據處理代碼合集免費下載

Python微服務開發的源代碼合集免費下載

本文檔的主要內容詳細介紹的是Python微服務開發的源代碼合集免費下載。
發表于 09-20 08:00 ? 65次 閱讀
Python微服務開發的源代碼合集免費下載

可以從cyapi.lib創建python對象嗎?

我的應用程序是由Python開發的,現在我想使用FX3 USB套件。我的應用程序需要枚舉我們的USB設備,將每個端點綁定到一個特...
發表于 09-20 06:09 ? 44次 閱讀
可以從cyapi.lib創建python對象嗎?

Python3.6零基礎入門與實戰PDF電子書免費下載

隨著大數據技術的發展及Python在人工智能領域的火熱應用,Python得到越來越多的應用。本書就是....
發表于 09-19 11:54 ? 128次 閱讀
Python3.6零基礎入門與實戰PDF電子書免費下載

Pydbg常用功能記錄

Biu~哈嘍大家好,作為汁生的程序猿,debug是必學課,曾經有位偉大的程序猿說過“debug用的好,你就回家早,Biu~”。 MDE...
發表于 09-19 09:05 ? 40次 閱讀
Pydbg常用功能記錄

Python核心編程第3版PDF電子書免費下載

本書是經典暢銷圖書《Python 核心編程(第二版)》的全新升級版本,總共分為 3 部分。第 1 部....
發表于 09-19 08:00 ? 105次 閱讀
Python核心編程第3版PDF電子書免費下載

成為爬蟲工程師需要哪些技能

因為我在南京上學,所以我一開始只是在南京投了簡歷,我一共面試了十幾家企業,其中只有一家沒有給我發of....
的頭像 工程師人生 發表于 09-18 11:30 ? 306次 閱讀
成為爬蟲工程師需要哪些技能

用于數據科學的python必學模塊之Pandas的備忘單資料免費下載

http://file.elecfans.com/web1/M00/A6/D4/o4YBAF2B4j....
發表于 09-18 08:00 ? 27次 閱讀
用于數據科學的python必學模塊之Pandas的備忘單資料免費下載

用于數據科學的python必學模塊之Numpy的備忘單資料免費下載

本文檔的主要內容詳細介紹的是用于數據科學的python必學模塊之Numpy的備忘單資料免費下載。
發表于 09-18 08:00 ? 21次 閱讀
用于數據科學的python必學模塊之Numpy的備忘單資料免費下載

python必學模塊之networkx的詳細資料說明

networkx的結構可以從其源代碼的組織中看出。該軟件包提供圖形對象類、創建標準圖形的生成器、讀取....
發表于 09-18 08:00 ? 51次 閱讀
python必學模塊之networkx的詳細資料說明

用于數據科學的python必學模塊之Matplotlib的資料說明

本文檔的主要內容詳細介紹的是用于數據科學的python必學模塊之Matplotlib的資料說明。 ....
發表于 09-18 08:00 ? 34次 閱讀
用于數據科學的python必學模塊之Matplotlib的資料說明

用于數據科學的python必學模塊之Keras的資料說明

本文檔的主要內容詳細介紹的是用于數據科學的python必學模塊之Keras的資料說明。
發表于 09-18 08:00 ? 53次 閱讀
用于數據科學的python必學模塊之Keras的資料說明

python數據科學備忘單jupyter筆記本免費下載

本文檔的主要內容詳細介紹的是python數據科學備忘單jupyter筆記本免費下載。
發表于 09-18 08:00 ? 53次 閱讀
python數據科學備忘單jupyter筆記本免費下載

Python的一些經典復習資料免費下載

Python 是什么類型的語言? Python 是腳本語言腳本語言 (Scripting langu....
發表于 09-18 08:00 ? 88次 閱讀
Python的一些經典復習資料免費下載

笨辦法學C語言中文版電子教程免費下載

這本書的目標是讓讀者掌握足夠的C語言技能,從而可以自己用C語言編寫程序或者修改別人的C語言代碼,成為....
發表于 09-17 17:07 ? 125次 閱讀
笨辦法學C語言中文版電子教程免費下載

Python小型應用學習

Python數據分析基礎ReadingDay7_應用程序
發表于 09-17 08:41 ? 86次 閱讀
Python小型應用學習

為什么學習深度學習需要使用PyTorch和TensorFlow框架

如果你需要深度學習模型,那么 PyTorch 和 TensorFlow 都是不錯的選擇。 并非每個....
的頭像 Wildesbeast 發表于 09-14 10:57 ? 476次 閱讀
為什么學習深度學習需要使用PyTorch和TensorFlow框架

Python 2.x 淘汰乃大勢所趨

而論及 Java,一年兩次迭代的速度早已讓不少開發者痛苦不堪,其紛紛開啟對 Oracle 的吐槽模式....
的頭像 AI科技大本營 發表于 09-07 07:18 ? 541次 閱讀
Python 2.x 淘汰乃大勢所趨

精通Python爬蟲框架Scrapy PDF英文原版電子書免費下載

Scrapy是使用Python開發的一個快速、高層次的屏幕抓取和Web抓取框架,用于抓Web站點并從....
發表于 09-05 08:00 ? 109次 閱讀
精通Python爬蟲框架Scrapy PDF英文原版電子書免費下載

如何用480個LED實現音樂可視化

 DMX是一種基于RS-485的通信協議,廣泛用于事件中的光控制。目的是添加一個界面,以便可以通過照....
的頭像 39度創意研究所 發表于 09-04 17:12 ? 373次 閱讀
如何用480個LED實現音樂可視化

使用Python實踐強化學習PDF電子書免費下載

本書面向對人工智能感興趣并想從零開始學習強化學習的機器學習開發者和深度學習愛好者。閱讀這本書,通過在....
發表于 09-03 08:00 ? 140次 閱讀
使用Python實踐強化學習PDF電子書免費下載

Flask Web開發基于Python的Web應用開發實戰PDF電子書免費下載

本書共分三部分,全面介紹如何基于 Python 微框架 Flask 進行 Web 開發。第一部分是 ....
發表于 09-02 08:00 ? 78次 閱讀
Flask Web開發基于Python的Web應用開發實戰PDF電子書免費下載

Flask的背景信息介紹和使用Flask進行Web開發的資料說明

“micro”并不意味著整個Web應用程序必須適合于單個python文件,盡管它當然可以。也不意味著....
發表于 09-02 08:00 ? 68次 閱讀
Flask的背景信息介紹和使用Flask進行Web開發的資料說明

解開Python身上神奇的謎團

一個人開發一門語言,難度那是相當大的。好在當時而立之年的Guido已經有了相當的開發經驗。此前,他花....
的頭像 新智元 發表于 09-01 07:43 ? 400次 閱讀
解開Python身上神奇的謎團

運維工程師為什么要學Python

現在很多互聯網公司的運維工程師需要學Python,因為現階段,掌握一門開發語言已經成為高級運維工程師....
的頭像 工程師人生 發表于 08-26 16:05 ? 501次 閱讀
運維工程師為什么要學Python

Python基礎教程第3版中國PDF電子書免費下載

本書包括 Python 程序設計的方方面面:首先,從 Python 的安裝開始,隨后介紹了 Pyth....
發表于 08-26 14:30 ? 166次 閱讀
Python基礎教程第3版中國PDF電子書免費下載

Python語言中的云端系統知識

Python語言的云端系統知識
的頭像 陳翠 發表于 08-21 17:31 ? 572次 閱讀
Python語言中的云端系統知識

Python深度學習弗朗索瓦肖萊版PDF電子書中文版免費下載

本書由 Keras 之父、現任 Google 人工智能研究員的弗朗索瓦 ? 肖萊(Fran?ois ....
發表于 08-20 08:00 ? 191次 閱讀
Python深度學習弗朗索瓦肖萊版PDF電子書中文版免費下載

OpenCV跨平臺計算機視覺庫的詳細資料簡介

OpenCV是一個基于BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Window....
發表于 08-19 08:00 ? 129次 閱讀
OpenCV跨平臺計算機視覺庫的詳細資料簡介

使用 Python 和 Jupyter 筆記本快速構建基于 FPGA 的設計并進行編程

ADUM3211 使用磁性耦合機制,以高達 1000 kbps 的數據速率跨越隔離柵傳輸數據。因此,....
的頭像 丫丫119 發表于 08-16 10:23 ? 1287次 閱讀
使用 Python 和 Jupyter 筆記本快速構建基于 FPGA 的設計并進行編程

用Python做科學計算中文版PDF電子書免費下載

和Matlab不同,Python的科學軟件包由眾多的社區維護和發布,因此要一一將其收集齊安裝到你的電....
發表于 08-16 08:00 ? 240次 閱讀
用Python做科學計算中文版PDF電子書免費下載

Python在學習人工智能中的重要性

隨著人工智能的熱度越來越高,Python這個詞我們聽到的越來越多,伴隨著Python這個單詞一起涌入....
發表于 08-14 09:55 ? 179次 閱讀
Python在學習人工智能中的重要性

Python標準庫中文版PDF免費下載

五年前我偶然遇到了 Python, 開始了我的 Python 之旅, 我花費了大量的時間在 comp....
發表于 08-14 08:00 ? 175次 閱讀
Python標準庫中文版PDF免費下載

笨辦法學Python第四版PDF電子書免費下載

《笨辦法學 Python》(Learn Python The Hard Way,簡稱 LPTHW)是....
發表于 08-12 08:00 ? 291次 閱讀
笨辦法學Python第四版PDF電子書免費下載

使用OpenMV設計的智能機械臂的Python文件免費下載

本文檔的主要內容詳細介紹的是使用OpenMV設計的智能機械臂的Python文件免費下載。
發表于 08-09 08:00 ? 110次 閱讀
使用OpenMV設計的智能機械臂的Python文件免費下載

如何在Python中從頭構建CNN?

在過去的幾年中,有很多關于卷積神經網絡(CNN)的討論,尤其是因為它們已經徹底改變了計算機視覺領域。
的頭像 Imagination Tech 發表于 08-08 11:07 ? 646次 閱讀
如何在Python中從頭構建CNN?

使用Vagrant搭建python開發環境的實例講解

入職就趕緊投入開發,別費時間搭開發環境。——編程三分鐘” 每每新同事入職,都要在自己電腦上配置一堆....
的頭像 馬哥Linux運維 發表于 08-03 11:20 ? 585次 閱讀
使用Vagrant搭建python開發環境的實例講解

總結Python面試中最常見的100個問題

Python中的內存管理由Python私有堆空間管理。所有Python對象和數據結構都位于私有堆中。....
的頭像 將門創投 發表于 08-02 14:47 ? 594次 閱讀
總結Python面試中最常見的100個問題

140種Python標準庫、第三方庫和外部工具都有了

Python標準庫:Python自帶的標準庫。Python標準庫無需安裝,只需要先通過import方....
的頭像 AI科技大本營 發表于 08-02 09:24 ? 520次 閱讀
140種Python標準庫、第三方庫和外部工具都有了

pgen解析器的諸多缺陷,并介紹了PEG解析器的優點

我們希望使用 pgen 表示法來編寫如下的語法。(請注意,這個示例描述了一種玩具語言(toy lan....
的頭像 AI科技大本營 發表于 08-02 09:19 ? 506次 閱讀
pgen解析器的諸多缺陷,并介紹了PEG解析器的優點

如何使用樹莓派連接EM-18RFID閱讀器模塊 并通過Python腳本從一些RFID卡訪問信息

RFID或射頻識別是一種通過電磁波進行通信的方式(射頻波,具體而言)。 RFID標簽和RFID卡通常....
的頭像 39度創意研究所 發表于 07-29 10:14 ? 681次 閱讀
如何使用樹莓派連接EM-18RFID閱讀器模塊 并通過Python腳本從一些RFID卡訪問信息

如何才能成為IT的編程高手

我在IT界摸爬滾打快十年了,下面簡單說說關于編程需要掌握的技術與相關知識。很多人感覺編程很難。很多人....
的頭像 開源嵌入式 發表于 07-28 09:12 ? 757次 閱讀
如何才能成為IT的編程高手
成人影片-成人片