日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sagemaker+deeplens学习

發布時間:2024/9/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sagemaker+deeplens学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sagemaker+deeplens報告

文章目錄

  • sagemaker+deeplens報告
    • Sagemaker學習
      • 1. 使用boto3對S3操作
      • 2.boto3調用sagemaker
        • 2.1使用sagemakerRuntime
      • 3.sagemaker庫
        • 3.1EstimatorBase類
          • 3.1.1 具有以下方法:
          • 3.1.2 使用小示例
    • 部署基于SSD的目標檢測模型上AWS deeplens
      • 1.AWS deeplens的兩版本
      • 2.關于注冊
          • 2.1關于攝像頭恢復出廠設置后注冊的坑
      • 3.支持的框架
      • 4.選擇算法
      • 5.將MXNet框架下的SSD模型轉發為可部署模式
          • 轉化為部署模式
          • 保存到S3存儲桶
      • 6.創建樣例模板的lambda函數
      • 7.關于lambda函數
          • 關于編寫lambda函數
      • 8.deeplens的模型中間件
          • 本地上傳模型到deeplens攝像頭并生成中間件,避免模型下載慢問題
      • 9.進行部署
        • 9.1導入模型
        • 9.2創建項目
        • 9.3部署
      • 10.在瀏覽器中查看項目輸出流
      • 11.制作U盤成為可引導設備
        • 11.1格式化U盤并對U盤分區
        • 11.2 將第一個盤制作成可引導盤
        • 11.3 剩余步驟
      • 12.排坑
          • deeplens連接到WiFi了,但是還控制臺還是長時間顯示offline

Sagemaker學習

1. 使用boto3對S3操作

學sagemaker前先學習一下boto3庫。因為使用Sagemaker要配合S3服務,使用這里 先學習boto3對S3服務的控制。

導入

import boto3

指定使用AWS上哪種服務

#獲取s3服務資源對象(相比client對象擁有更高級的抽象調用) s3 = boto3.resource('s3',region_name=region) #獲取S3客戶端對象(原生) s3_client = boto3.client('s3',region_name=region)

存儲桶的三個操作對象

#通過資源對象 s3 = boto3.resource('s3',region_name=region) #通過桶對象 s3.Bucket('mybucket') #S3客戶端對象 s3_client = boto3.client('s3',region_name=region)

創造一個S3存儲桶

#定義區域,因為S3是全球服務,所以要聲明要使用哪個區域的S3服務 region = 'us-west-2' bucket_name = 'my-bucket' #獲取一個S3客戶端對象 s3_client = boto3.client('s3',region_name=region) s3_client.create_bucket(Bucket=bucket_name)

打印桶名

#s3 s3對象 #s3.buckets.all() 獲得s3中的所有桶對象 #bucket.name 桶名 s3 = boto3.resource('s3') for bucket in s3.buckets.all():print(bucket.name)

刪除存儲桶

s3_client = boto3.client('s3',region_name=region) s3_client.delete_bucket(Bucket='mybucket')

上傳文件

#文件方式 s3 = boto3.resource('s3') s3.Bucket('mybucket').upload_file('/tmp/hello.txt', 'hello.txt')#對象方式 s3 = boto3.resource('s3') with open('filename', 'rb') as data:s3.Bucket('mybucket').upload_fileobj(data, 'mykey')#s3.Bucket()方法返回指定的桶對象 #put_object() key:保存的文件名, Body:對象數據 s3 = boto3.resource('s3') with open('filename', 'rb') as data:s3.Bucket('my-bucket').put_object(Key='test.jpg', Body=data)#使用客戶端對象上傳文件 s3_client = boto3.client('s3',region_name=region) s3_client.upload_file('myfile', Bucket='my-bucket', Key='mys3file')#使用客戶端對象上傳對象 s3_client = boto3.client('s3',region_name=region) with open('filename', 'rb') as data:s3_client.upload_fileobj(data, 'mybucket', 'mykey')

分段上傳

關于分段上傳這里解析一下:分段上傳是將一個大型對象,切分為若干個中小片段,并對這若干個片段進行并行上傳,從上傳速度來將,分段上傳可以明顯比普通上傳要快。

分段上傳是一個三步過程:啟動上傳,上傳對象部分,然后在上傳所有部分之后,完成分段上傳。

分段上傳都有一個對應的ID號來識別唯一的上傳操作。

s3_client = boto3.client('s3',region_name=region) #創建分段上傳 response = s3_client.create_multipart_upload(Bucket='my-bucket',Key='myfile') #拿到上傳ID ID = response['UploadId'] #讀取一個大型文件 data = open('file', 'rb') #進行多段上傳 s3_client.upload_part(Body=data,Bucket='my-bucket',Key='myfile',PartNumber=5,UploadId=ID) #對上傳到服務端多段數據發起合并請求 response2 = client.complete_multipart_upload(Bucket='examplebucket',Key='myfile',UploadId=ID)

從s3中下載文件

  • bucket S3存儲桶名字
  • path 桶文件路徑
  • localhost_path 本地路徑名
s3 = boto3.resource('s3') #下載文件 s3.download_file(bucket, path, localhost_path)#通過桶對象下載文件 s3.Bucket('mybucket').download_file('hello.txt', '/tmp/hello.txt')#通過客戶端下載文件對象 s3_client = boto3.client('s3') with open('filename', 'wb') as data:s3_client.download_fileobj('mybucket', 'mykey', data)#通過客戶端下載文件 s3_client.download_file('mybucket', 'hello.txt', '/tmp/hello.txt')#通過get_object獲取一個對象 #返回response,response包含對象的描述信息和數據體 response = s3_client.get_object_acl(Bucket='examplebucket',Key='HappyFace.jpg', ) data = response['Body']

刪除一個S3中的對象

#通過客戶端刪除 s3_client = boto3.client('s3',region_name=region) s3_client.delete_object(Bucket='mybucket',Key='cat.jpg')#通過桶對象刪除 s3 = boto3.resource('s3') s3.Bucket('mybucket').download_file('hello.txt', '/tmp/hello.txt')

獲取區域名

boto3.Session.region_name

2.boto3調用sagemaker

2.1使用sagemakerRuntime

SageMakerRuntime.Client是一個運行時低級的客戶端類,提供一些簡易的方法供程序員調用sagemaker上的資源。

client = boto3.client('sagemaker-runtime')

SageMakerRuntime.Client提供了以下方法:

  • can_paginate()
  • generate_presigned_url()
  • get_paginator()
  • get_waiter()
  • invoke_endpoint()

can_paginate()和get_paginator()

can_paginate(operation_name)用于判斷一個方法是否允許分頁。

get_paginator()用于個一個操作創建分頁。

關于分頁請求這個概念,這里簡單描述一下:有些AWS操作返回的結果不完整,需要后續請求才能獲得整個結果集。在前一個請求未處理的情況下發送后續請求以繼續的過程稱為分頁。例如,amazon s3的list objects操作一次最多返回1000個對象,您必須使用適當的標記發送后續請求,以便檢索下一頁的結果。

這里引用官方的案例:

import botocore.session# Create a session and a client session = botocore.session.get_session() client = session.create_client('s3', region_name='us-west-2')# Create a reusable Paginator paginator = client.get_paginator('list_objects')# Create a PageIterator from the Paginator page_iterator = paginator.paginate(Bucket='my-bucket')for page in page_iterator:print(page['Contents'])

invoke_endpoint()

這個方法比較常用,該方法用于調用一個sagemaker終端節點去做模型的結果推斷。

  • sagemaker終端節點是sagemaker的一項服務,用于將訓練好的模型進行快速的部署并用于對數據集進行結果推斷。(一個容器化部署的模型)

invoke_endpoint()所有參數如下:

response = client.invoke_endpoint(EndpointName='string', #終端節點名字Body=b'bytes'|file, #推斷的數據ContentType='string', #數據的格式Accept='string', #推斷結果的格式CustomAttributes='string',TargetModel='string',TargetVariant='string',InferenceId='string' )

一個小示例:

假設你有一個終端節點叫myEndPoint,用來做貓狗分類的推斷。

ENDPOINT_NAME = 'myEndPoint' with open('cat.jpg', 'wb') as data:response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,ContentType='image/jpeg',Body=data)#輸出結果print(response) #response的結構 #{ # 'Body': StreamingBody(), 結果 # 'ContentType': 'string', 結果格式 # 'InvokedProductionVariant': 'string', # 'CustomAttributes': 'string' #}

3.sagemaker庫

3.1EstimatorBase類

sagemaker有一個Estimator Base類,用于執行端對端的sagemaker的訓練和部署任務

class sagemaker.estimator.Estimator

其構造參數:

sagemaker.estimator.EstimatorBase(role, instance_count=None, instance_type=None, volume_size=30, volume_kms_key=None, max_run=86400, input_mode='File', output_path=None, output_kms_key=None, base_job_name=None, sagemaker_session=None, tags=None, subnets=None, security_group_ids=None, model_uri=None, model_channel_name='model', metric_definitions=None, encrypt_inter_container_traffic=False, use_spot_instances=False, max_wait=None, checkpoint_s3_uri=None, checkpoint_local_path=None, rules=None, debugger_hook_config=None, tensorboard_output_config=None, enable_sagemaker_metrics=None, enable_network_isolation=False, profiler_config=None, disable_profiler=False, **kwargs)
3.1.1 具有以下方法:

獲取訓練鏡像

#返回為訓練用的一個docker鏡像路徑 training_image_uri() #如: training_image_uri(sess.boto_region_name, 'object-detection', repo_version="latest")

設置超參

#設置算法的參數(這根據你用的是哪個算法) hyperparameters()

判斷Estimator是否需要網絡隔離

#判斷Estimator是否需要網絡隔離,返回bool類型 enable_network_isolation()

指定訓練名

#指定訓練名 prepare_workflow_for_training(job_name=None)

執行訓練

#執行訓練任務, #inputs:訓練通道 logs:日志 job_name:訓練任務名 fit(inputs=None, wait=True, logs='All', job_name=None, experiment_config=None)

Neo編譯

#使用Neo編譯一個模型 #target_instance_family:標識編譯后要運行模型的設備 #input_shape:通過dict的形象指定輸入通道, #如:{‘data’:[1,3,1024,1024]}, or {‘var1’: [1,1,28,28], ‘var2’:[1,1,28,28]} #output_path:編譯后的模型存儲路徑 #framework:框架 #framework_version:版本 #compile_max_run:設置編譯超時秒數 #target_platform_os:捆綁的操作系統,如:linux #target_platform_arch:系統位數,如:X86_64 #target_platform_accelerator:硬件加速器平臺,如NVIDIA compile_model(target_instance_family, input_shape, output_path, framework=None, framework_version=None, compile_max_run=900, tags=None, target_platform_os=None, target_platform_arch=None, target_platform_accelerator=None, compiler_options=None, **kwargs)

附加訓練任務

#附加一個訓練任務 #作用:綁定某個訓練任務,可以獲取對應的任務的配置,如果綁定的訓練任務還在訓練,那么綁定操作將被阻塞。 # 返回結果是:Estimator實例,通過該實例可以實現deploy()等操作 #training_job_name:綁定的訓練任務名 #sagemaker_session: sagemaker的session #model_channel_name:模型路徑 classmethod attach(training_job_name, sagemaker_session=None, model_channel_name='model')

打印log

#打印log logs()

部署終端節點

#部署終端節點 #只展示部分參數,具體看官方文檔 #initial_instance_count:部署實例個數 #instance_type:實例類型 #返回:sagemaker.predictor.Predictor對象 #在sagemaker2.0中 RealTimePredictor已經被更名為Predictor deploy(initial_instance_count, instance_type) deploy(initial_instance_count, instance_type,endpoint_name=None)

注冊模型包

#創建用于創建SageMaker模型或在市場上上市的模型包 #content_types:模型輸入MIME類型(模型輸入類型) #response_types:模型輸出MIME類型(模型輸出類型) #inference_instances:推斷實例允許的實例類型列表 #transform_instances:批轉換實例允許的實例類型 register(content_types, response_types, inference_instances, transform_instances)

創建模型對象

#創建一個模型 #返回的是:sagemaker.model.Model對象 create_model(**kwargs) #接受以下參數: #image_uri:一個docker容器鏡像 #model_data:模型,一般是存放在s3中的模型(.tar.gz包) #role:角色(與IAM服務有關) #env:環境變量,dict類型,與image_uri指定的容器中有關變量 #name:模型名稱 #vpc_config:vpc配置,部署時會用到 #enable_network_isolation:網絡隔離,一般為false #model_kms_key:kms的密鑰(與kms服務有關)
3.1.2 使用小示例

本示例使用的是官方的示例,由于這個示例 有點久遠,有些方法調用的還是sagemaker sdk v1版本的API,所有使用的時候可能會有提示警告。本人做了些許修改,完整代碼請查閱:https://github.com/aws/amazon-sagemaker-examples/blob/master/introduction_to_amazon_algorithms/object_detection_pascalvoc_coco/object_detection_incremental_training.ipynb

第一步:獲取執行role

#本示例在jupyter notebook下運行 import sagemaker from sagemaker import get_execution_role#第一步獲取執行權限 role = get_execution_role()

第二部:獲取數據并進行處理

#從官方指定的地址下載2007年和2012年Pascal VOC 數據集 # Download the dataset !wget -P /tmp http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar !wget -P /tmp http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar !wget -P /tmp http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar # # Extract the data. !tar -xf /tmp/VOCtrainval_11-May-2012.tar && rm /tmp/VOCtrainval_11-May-2012.tar !tar -xf /tmp/VOCtrainval_06-Nov-2007.tar && rm /tmp/VOCtrainval_06-Nov-2007.tar !tar -xf /tmp/VOCtest_06-Nov-2007.tar && rm /tmp/VOCtest_06-Nov-2007.tar#如果你打算使用自己放在s3中的數據可以運行以下代碼 #!aws s3 cp s3://my-bucket/data-path ./localhost-path#運行官方提供的腳本文件 #這幾行腳本代碼是用于生成rec序列文件 #該文件在上面提供的網址的github目錄下 !python tools/prepare_dataset.py --dataset pascal --year 2007,2012 --set trainval --target VOCdevkit/train.lst !python tools/prepare_dataset.py --dataset pascal --year 2007 --set test --target VOCdevkit/val.lst --no-shuffle#關于使用自己只定義的數據 #在使用官方提供的腳本時應該注意:如果你的數據集是按照Pascal VOC2007和Pascal VOC2012數據集 #構建的目錄結構,請到腳本目錄下的pascal_voc.names,更改你數據集中對應的便簽名,官方提供的腳 #本將會讀取該文件的label,用作生成.rec .lst等文件。更多的Pascal VOC目錄結構請根據需要自行 #查找。

第三步:上傳處理的數據到S3存儲桶中

#上傳到S3有很多方式,請參考上面boto3對s3的控制 import boto3 s3 = boto3.resource('s3')#訓練集的上傳 train_localhost_path = '' train_S3_path = '' s3.Bucket('mybucket').upload_file(train_localhost_path, train_S3_path)#驗證集的上傳 val_localhost_path = '' val_S3_path = '' s3.Bucket('mybucket').upload_file(val_localhost_path, val_S3_path)

第四步:獲取內置算法鏡像

#舊的API #from sagemaker.amazon.amazon_estimator import get_image_uri #training_image = get_image_uri(sess.boto_region_name, 'object-detection', repo_version="latest")#新的API sess = sagemaker.Session() training_image = sagemaker.image_uris.retrieve("object-detection", sess.boto_region_name)

第五步:創建Estimator實例

s3_output_location = 's3的輸出路徑' model = sagemaker.estimator.Estimator(training_image,role, instance_count=1, instance_type='ml.p3.2xlarge',volume_size = 50,max_run = 360000,input_mode= 'File',output_path=s3_output_location,sagemaker_session=sess)

第六步:設置超參數

關于sagemaker內置算法:目標檢測算法,其是用那種方式實現的。sagemaker中的目標檢測算法是使用SSD (Single Shot multibox Detector)框架實現的。并支持兩個基本網絡: VGG 和 ResNet。 可以從頭開始訓練網絡,也可以使用已在 ImageNet 數據集上預先訓練的模型進行訓練。

#不同的內置算法會有不同的超參數 #目標檢測的超參數可以在以下網址中找到: #https://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/object-detection.html model.set_hyperparameters(base_network='resnet-50',use_pretrained_model=1,num_classes=20,mini_batch_size=32,epochs=1,learning_rate=0.001,lr_scheduler_step='3,6',lr_scheduler_factor=0.1,optimizer='sgd',momentum=0.9,weight_decay=0.0005,overlap_threshold=0.5,nms_threshold=0.45,image_shape=300,label_width=350,num_training_samples=16551)

第七步:訓練

#舊的API #train_data = sagemaker.session.s3_input(s3_train_data, distribution='FullyReplicated', # content_type='application/x-recordio', s3_data_type='S3Prefix') #validation_data = sagemaker.session.s3_input(s3_validation_data, distribution='FullyReplicated', # content_type='application/x-recordio', s3_data_type='S3Prefix') #data_channels = {'train': train_data, 'validation': validation_data}#新的API如下: from sagemaker.inputs import TrainingInput train_data = '訓練集S3路徑' validation_data = '驗證集的S3路徑' train_channel = TrainingInput(train_data, content_type='application/x-recordio') valid_channel = TrainingInput(validation_data, content_type='application/x-recordio') data_channels = {'train': train_channel, 'validation': valid_channel} #開啟訓練 model.fit(inputs=data_channels, logs=True)

第八步:部署

object_detector = model.deploy(initial_instance_count = 1,instance_type = 'ml.m4.xlarge')

第九步:驗證模型

驗證模型之前,請下載一張用于驗證的圖片。

file_name = 'test.jpg' with open(file_name, 'rb') as image:f = image.read()b = bytearray(f)ne = open('n.txt','wb')ne.write(b)import json #預測 object_detector.content_type = 'image/jpeg' results = object_detector.predict(b) detections = json.loads(results) print (detections) #結果格式 #https://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/object-detection-in-formats.html#可視化函數 def visualize_detection(img_file, dets, classes=[], thresh=0.6):"""visualize detections in one imageParameters:----------img : numpy.arrayimage, in bgr formatdets : numpy.arrayssd detections, numpy.array([[id, score, x1, y1, x2, y2]...])each row is one objectclasses : tuple or list of strclass namesthresh : floatscore threshold"""import randomimport matplotlib.pyplot as pltimport matplotlib.image as mpimgimg=mpimg.imread(img_file)plt.imshow(img)height = img.shape[0]width = img.shape[1]colors = dict()for det in dets:(klass, score, x0, y0, x1, y1) = detif score < thresh:continuecls_id = int(klass)if cls_id not in colors:colors[cls_id] = (random.random(), random.random(), random.random())xmin = int(x0 * width)ymin = int(y0 * height)xmax = int(x1 * width)ymax = int(y1 * height)rect = plt.Rectangle((xmin, ymin), xmax - xmin,ymax - ymin, fill=False,edgecolor=colors[cls_id],linewidth=3.5)plt.gca().add_patch(rect)class_name = str(cls_id)if classes and len(classes) > cls_id:class_name = classes[cls_id]plt.gca().text(xmin, ymin - 2,'{:s} {:.3f}'.format(class_name, score),bbox=dict(facecolor=colors[cls_id], alpha=0.5),fontsize=12, color='white')plt.show()object_categories = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']# Setting a threshold 0.20 will only plot detection results that have a confidence score greater than 0.20. threshold = 0.20# Visualize the detections. visualize_detection(file_name, detections['prediction'], object_categories, threshold)

最后一步:關閉終端節點

sagemaker.Session().delete_endpoint(object_detector.endpoint)

部署基于SSD的目標檢測模型上AWS deeplens

1.AWS deeplens的兩版本

AWS deeplens有兩個版本,分別是:V1.1,和V1.0

關于這兩個版本的硬件區別:https://docs.aws.amazon.com/zh_cn/deeplens/latest/dg/deeplens-hardware.html

關于硬件和軟件的版本區別這里就不多說,這里主要介紹如何將自己的深度學習模型部署到deeplens上面。

2.關于注冊

關于注冊我就不多說了,官方文檔有具體說明https://docs.aws.amazon.com/zh_cn/deeplens/latest/dg/deeplens-getting-started-register.html

2.1關于攝像頭恢復出廠設置后注冊的坑

如果你重置攝像頭恢復了出廠設置,(假設你當前的設備為V1.1版本)使用V1.1版本的注冊方法,但是控制臺中怎么都無法檢測到攝像頭的USB注冊口,那可能是重置后的版本沒有裝好USB注冊口的驅動,那么你應該使用一下V1.0的方式注冊,V1.0注冊中有一個步驟是更新設備軟件,更新完軟件后可以改為V1.1的方式進行設備的注冊。

3.支持的框架

當前AWS deeplens支持一下深度學習框架:MXNet,TensorFlow,Caffe

如果你使用的是其他的算法框架,并要部署到AWS deeplens上面部署,你可能需要一些使用工具將你當前使用的框架訓練出來的模型轉換為MXNet,TensorFlow,Caffe這三個框架模型。

之所以使用這三個框架,很大一部分原因是:他那個AWS deeplens攝像頭里面用的是Intel? Atom 處理器因為攝像頭會使用英特爾的一些模型優化工具將這三個框架訓練處理的模型轉換為攝像頭可以處理的優化中間件,關于這個中間件,我后面會詳細說明。

現在你需要知道的是AWS deeplens只支持三種框架,而sagemaker內置算法訓練處理的模型用的是MXNet,所以如果你使用的是sagemaker訓練的深度學習模型,基本可以無縫地放到AWS deeplens上面跑。(但是如果是基于SSD的目標檢測模型,可以還需要一些格外的處理。)

4.選擇算法

改步驟主要針對sagemaker和AWS deeplens集成服務,因為這里選擇的是SSD的目標檢測模型(一種目標檢測算法),所以在選擇算法的時候請選擇:Object Detection

關于更多的算法需要去官方文檔看。

AWS DeepLens 是一款支持深度學習的視頻攝像機。它與多個 AWS 機器學習服務集成,并可根據從 AWS 云預配置的部署模型執行本地推理。所以DeepLens主要是搭載那些機器視覺模型的,主要還是:Object Detection,image classification,圖像風格轉換

5.將MXNet框架下的SSD模型轉發為可部署模式

這個只針對MXNet框架下的訓練的SSD模型。

關于將SSD模型轉發為可部署模式,這里需要說明一下為什么要轉換為部署模式,在sagemaker訓練的過程中,sagemaker的內置算法會在模型的網絡結構中添加一些只在訓練中才有用的網絡結構:如dropout,smooth等,但我們部署模型時是不需要這些層的,這時我們需要將模型轉化為部署模式。

官網文檔中提供的地址不對了(不知道現在改了沒),現在打開這個地址:https://github.com/apache/incubator-mxnet/tree/master/,然后使用GitHub將MXnet整個庫下載下來,然后在git中運行如下命令:

git reset --hard 73d88974f8bca1e68441606fb0787a2cd17eb364

該命令是將GitHub的本地倉庫回滾到指定的版本,因為官方是要求用這個版本的MXnet的進行部署模式的轉換。

然后進入到這個庫目錄中,部署腳本就在MXnet項目目錄下的:

cd incubator-mxnet/example/ssd/

然后將模型放到model文件夾下面然后對模型壓縮包進行解壓,解壓后會發現兩個文件,一個叫:

  • model_algo_1-0000.params
  • model_algo_1-symbol.json

后綴為.params的文件是模型,.json的文件是模型網絡的拓撲結構。

轉化為部署模式

然后運行以下命令:

python deploy.py --network resnet50 --prefix F:\Mxnet\incubator-mxnet\example\ssd\model\model_algo_1 --data-shape 300 --num-class 2

這里只解析我使用的參數,更多的參數自己看那個腳本或者使用 –help

  • –network 網絡結構
  • –prefix 模型的工程前綴(去掉文件后綴后的路徑就是你的工程前綴)
  • –data-shape 模型輸入成的大小(這里300,是指圖片是300*300的格式,圖片通道數默認是3)
  • –num-class 檢測分類的個數
保存到S3存儲桶

將轉化為部署模式的SSD模型,重新打包成tar.gz壓縮包,并放到存儲桶進行存儲。如果你用的是window系統的話,去下載個7Z壓縮,7Z壓縮能制作tar.gz壓縮包。如果你是使用Linux系統,在命令行輸入:

tar czvf my.tar.gz file1 file2 ....fileN
  • file1 file2 …fileN是要壓縮的文件
  • my.tar.gz是壓縮后壓縮包的名字

6.創建樣例模板的lambda函數

官方文檔的lambda樣例比較舊,所以使用控制臺中官方樣例中的lambda樣例,進入AWS deeplens控制臺選擇Projects,創建項目

然后到lambda函數服務的控制臺,會發現多出一個lambda函數,如下:

進入這個lambda函數的編輯頁

編輯好自定義的lambda函數,記得發布版本,只有發布了的版本才能部署到deeplens上

7.關于lambda函數

AWS deeplens需要lambda函數協助,利用lambda函數AWS deeplens可以調用模型進行推斷,AWS deeplens里面保存了模型和lambda函數,在AWS deeplens中創建項目需要綁定一個模型和一個lambda函數,當攝像頭進行模型部署的時候,AWS deeplens將會上傳模型和lambda函數到攝像頭設備上。當攝像頭運行時,將調用lambda的函數將視頻幀傳遞給模型進行處理,并將處理后的視頻幀傳到項目流那里。

在AWS deeplens攝像頭注冊成功時,會創建如下兩個lambda函數,請勿刪除:

  • deeplens_admin_version_poller
  • deeplens_admin_model_downloader
關于編寫lambda函數

lambda函數可以使用官方的簡單案例的模板,然后看他那個核心代碼。因為要調用模型對視頻幀進行處理,所以要調用一些核心接口:

關于設備庫看官方文檔:https://docs.aws.amazon.com/zh_cn/deeplens/latest/dg/deeplens-device-library.html

mo模塊

mo模塊是用來優化模型并生成AWS DeepLens 表示形式(也就是中間件)

import mo error, model_path = mo.optimize(model_name, input_width, input_height, platform, aux_inputs)
  • model_path 中間件路徑

awscam模塊

awscam模塊用來獲取視頻幀

import awscam #獲取視頻幀,video_frame是視頻幀 ret, video_frame = awscam.getLastFrame()

awscam模塊有個Model類,用來加載機器學習模型

import awscam #加載的是經過mo模塊優化后的模型 #model = awscam.Model(model_topology_file, loading_config),如: model = awscam.Model(model_path, {'GPU': 1})#調用模型的接口進行視頻幀推斷 #raw_inference_results = model.doInference(video_frame) #解析結果 #result = model.parseResult(model_type, raw_infer_result) #如:parsed_inference_results = model.parseResult(model_type,model.doInference(frame_resize))

8.deeplens的模型中間件

將 AWS DeepLens 模型構件從 Caffe(.prototxt 或 .caffemodel)、MXNet(.json 和 .params)或 TensorFlow (.pb) 表示形式轉換為 AWS DeepLens 表示形式并執行必要的優化。

關于這個優化模塊去Intel優化工具OpenVINO的官網看:https://docs.openvinotoolkit.org/latest/index.html

關于這個中間件去這里看:https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html

  • .xml -描述網絡拓撲
  • .bin -包含權重并偏置二進制數據。

deeplens中的優化腳本在目錄

cd /opt/awscam/intel/deeplearning_deploymenttoolkit/deployment_tools/model_optimizer

有幾個優化腳本:

  • mo_caffe.py
  • mo_kaldi.py
  • mo_mxnet.py
  • mo_onnx.py
  • mo_tf.py
  • mo.py

我用的mxnet框架,所以使用的是mo_mxnet.py

#查看有哪些參數 python3 mo_mxnet.py -h#一些使用案例 python3 mo_mxnet.py --input_model /home/aws_cam/model/model_algo_1-0000.params --data_type FP16 --scale 1 --model_name model_algo_1 --reverse_input_channels --input_shape [1,3,300,300] --legacy_mxnet_model

當然我們一般不用這些腳本,我們一般在lambda函數中通過mo.optimize來進行模型的轉化和優化。

本地上傳模型到deeplens攝像頭并生成中間件,避免模型下載慢問題

不過這里也引出了一些小技巧,因為AWS deeplens只在部分區開放了服務,當涉及到跨區域時,就可能會面臨網絡帶寬問題。因為上傳模型到云端,然后通過攝像頭自動化部署從云端的下載模型到攝像頭本地并部署,這個下載的過程可能十分緩慢。這是我們可以優先在本地上傳模型到攝像頭內部,然后通過腳本在deeplens內部生成模型中間件,然后在lambda函數指明模型中間件位置即可。而云端可以捆綁的一個空殼的模型和一個改寫好路徑的lambda函數,然后調用自動部署功能。

9.進行部署

部署步驟如下:

  • 導入模型
  • 創建項目
  • 部署
  • 9.1導入模型

    導入模型可以從一下地方導入:

  • S3
  • sagemaker
  • 9.2創建項目

    創建一個項目需要兩樣東西:一個是模型,一個是lambda函數

    模型只能有一個,而lambda函數至少有一個。

    9.3部署

    因為是自動化部署,選擇好部署的項目一鍵部署即可,這個部署過程并不難,好部署好項目核心內容主要還是如何使用lambda函數進行視頻幀的處理,和如何對深度學習的網絡的輸出進行解析。

    10.在瀏覽器中查看項目輸出流

    deeplens本來就是一臺計算機,設備開放4000端口,供給其他計算機用瀏覽器訪問,并查看項目視頻流的輸出,

    地址:https://your-device-ip-address:4000,your-device-ip-address是你設備的私網IP地址。

    用瀏覽器對攝像頭的指定開放端口進行訪問前請確保你是有下載證書的,關于證書下載去官方文檔看,整個執行的過程可以分一下基本分:

  • 下載證書到本地
  • 將證書導入到瀏覽器
  • 通過瀏覽器訪問deeplens的指定端口
  • 查看項目流的輸出
  • 11.制作U盤成為可引導設備

    這里主要是制作USB 閃存驅動器成為可引導設備,這是為了制作將AWS Deeplens恢復到出廠設置的引導U盤。官方文檔提供的在Ubuntu下制作為引導U盤,我這里在window系統下制作。

    11.1格式化U盤并對U盤分區

    U盤要分兩個區

    • 第一個分區:2 GB 的 FAT32
    • 第二個分區:至少 9 GB 的 NTFS

    第一分區是用來引導設備安裝,而第二分區就是你的攝像頭系統鏡像了。

    分區可以使用分區助手或其他分區軟件,window系統自帶的分區功能應該也能分U盤, FAT32和NTFS是U盤的兩種系統,式化時可以選擇的。

    11.2 將第一個盤制作成可引導盤

    去下載一個叫unetbootin的軟件,軟件長這樣,然后安裝我給的截圖操作即可。

    11.3 剩余步驟

    剩余步驟按官方文檔操作即可,https://docs.aws.amazon.com/zh_cn/deeplens/latest/dg/deeplens-device-factory-reset-preparation.html

    12.排坑

    deeplens連接到WiFi了,但是還控制臺還是長時間顯示offline

    可能是greengrassd服務卡住了,在deeplens終端運行一下代碼:

    sudo systemctl restart greengrassd.service --no-block

    總結

    以上是生活随笔為你收集整理的sagemaker+deeplens学习的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲婷婷免费 | 国产一级精品在线观看 | 色视频在线观看免费 | 亚洲精品乱码久久久久久 | 日韩免费av在线 | 国产精品视频最多的网站 | 欧美精品一区二区三区一线天视频 | 精品久久视频 | av免费播放 | 97麻豆视频 | 久久久久久毛片精品免费不卡 | 日韩a级免费视频 | 亚洲精品在线一区二区 | 麻豆视频成人 | 色综合久久久久综合 | 天天操天天射天天插 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 精品人妖videos欧美人妖 | 中文字幕国产在线 | 精品自拍av| 久久伊人八月婷婷综合激情 | 久久久久久久免费看 | 91精品少妇偷拍99 | 久久婷婷色 | av在线进入 | 久草久热| 久久久久久久久久久精 | 久久精品导航 | 99视频在线| 国产精品1000| 丁香婷婷综合五月 | 91av在线免费播放 | 久久9精品| 欧美永久视频 | 婷婷六月久久 | 亚洲精区二区三区四区麻豆 | 久久久久综合 | 成人h动漫在线看 | 伊人丁香| 97电影在线看视频 | 九九九九色| 亚洲一区二区三区四区精品 | 99免费在线播放99久久免费 | 欧美a√大片 | 操高跟美女 | 欧美在线91 | 成人免费看黄 | 精品人人人人 | 国产资源在线视频 | 五月的婷婷 | 天天干天天干天天 | 欧美人人| 亚洲色图色 | 麻豆精品传媒视频 | 草久在线观看视频 | 国产黄色成人av | 狠狠色伊人亚洲综合网站野外 | 视频一区二区国产 | 久久久观看 | 日韩一区二区三区免费电影 | 91在线成人| 亚洲高清免费在线 | 久久黄色网址 | 国产午夜精品视频 | 五月激情电影 | 91中文字幕在线视频 | 91精品一区二区三区蜜桃 | 超碰人人在线观看 | 国产人成免费视频 | 日韩欧美高清视频在线观看 | 美女网站在线 | 91香蕉国产在线观看软件 | 久草在线资源免费 | 九月婷婷综合网 | 99久久精品久久久久久动态片 | 超碰97免费 | 国产视频久久 | 91国内在线 | 久久精品99国产精品 | 亚洲不卡av一区二区三区 | 色欧美综合 | 中文字幕在线观看网站 | 日韩精品一区二区在线视频 | 国产 一区二区三区 在线 | 日韩超碰在线 | 最新国产精品亚洲 | 81国产精品久久久久久久久久 | 国产精品999久久久 久产久精国产品 | 亚洲动漫在线观看 | 久久免费精品 | 亚洲精品欧美视频 | 日韩av一区在线观看 | 免费在线观看成人 | 1024手机基地在线观看 | www.福利 | 美女网站色免费 | 日日天天 | 成人久久久久久久久久 | 超碰在线人人 | 日本免费久久高清视频 | 国产97在线观看 | 九九久久精品视频 | 国产亚洲精品久久久久久无几年桃 | av综合av | 国产在线观看你懂得 | 日韩精品在线播放 | 欧美最猛性xxx | 综合网伊人 | 99精品亚洲 | 亚洲国产成人在线播放 | 丁香av在线 | 最新日韩精品 | 亚洲成人av电影 | 亚洲a资源 | 福利视频区 | 久久精品视频在线观看 | 欧美日韩二区在线 | 天天干天天操人体 | 久久中文字幕在线视频 | 国产成人一区二区啪在线观看 | 男女激情片在线观看 | 日韩精品一区二区三区视频播放 | 2021av在线 | 樱空桃av| 国产一级在线免费观看 | 超碰在线天天 | 中文字幕亚洲欧美日韩2019 | 97超碰在线播放 | 天天射天天爱天天干 | 日本精品中文字幕在线观看 | 久久精品牌麻豆国产大山 | av在线网站大全 | 精品 激情 | 成人羞羞视频在线观看免费 | 在线观看国产高清视频 | 日韩精品在线免费观看 | 亚洲伊人天堂 | 欧美性性网 | 久久9999久久免费精品国产 | 久久国产精品久久久 | 国内精品久久久久久久久久清纯 | 日韩资源在线观看 | 国产精品国产三级国产aⅴ入口 | 97视频在线观看成人 | 97超碰人人澡 | 五月天色婷婷丁香 | 日日弄天天弄美女bbbb | 午夜久草 | 黄色免费视频在线观看 | 国产精品国产亚洲精品看不卡 | 国产精品免费一区二区三区 | 亚洲视频精品 | 欧美a视频在线观看 | 日本高清久久久 | 久久精品一区二 | 五月婷香蕉久色在线看 | 玖玖999| 欧美日韩一区二区视频在线观看 | 日韩三级久久 | 久久99亚洲热视 | 丁香高清视频在线看看 | 超碰av在线播放 | 亚州欧美视频 | 欧美一区二区在线 | 久99久在线视频 | 成人三级网站在线观看 | 在线观看福利网站 | 黄色网中文字幕 | 色噜噜在线观看视频 | 久久久91精品国产一区二区三区 | 五月天婷婷免费视频 | 欧美日韩性 | 麻豆传媒视频在线免费观看 | 成年免费在线视频 | 日韩在线免费观看视频 | 久久看毛片 | 国产 欧美 日产久久 | 91在线国产观看 | 69亚洲视频 | 丰满少妇在线观看网站 | 最新国产在线 | 久久超碰97 | 欧美日韩久久不卡 | 国产黄色电影 | 中文字幕永久在线 | 国精产品永久999 | 激情丁香综合五月 | 国产精品第2页 | 91免费在线看片 | 日韩在线视频国产 | 日韩视频在线观看免费 | 1024久久| 精品国产免费看 | 99热这里只有精品久久 | 国产 日韩 欧美 中文 在线播放 | 人人爽爽人人 | 日韩欧美一区二区三区在线观看 | 黄av免费| 免费的黄色av | 9999精品视频 | 久久国产精品色婷婷 | 日韩av中文字幕在线免费观看 | 99视频精品视频高清免费 | 久久久官网| 久久久久亚洲最大xxxx | 一区二区 不卡 | 欧美日韩国产色综合一二三四 | 久久久久北条麻妃免费看 | 精品国产伦一区二区三区观看方式 | 精品福利在线 | 婷婷国产在线观看 | 国产在线小视频 | 日韩欧美久久 | 久久综合久久综合九色 | 成人久久久久久久久 | 91精品欧美一区二区三区 | 国产精品第72页 | 91视频传媒 | 国产免费久久 | 欧美婷婷综合 | 亚洲永久精品国产 | 天天操天天操一操 | 国产精品久久久久一区二区三区 | 国产精品久久久久久高潮 | 五月婷婷视频在线 | 99re8这里有精品热视频免费 | 天天操天天操天天操 | 欧美成年人在线观看 | 久久免费视频一区 | 午夜久久久久久久久久久 | 一区二区三区免费网站 | 91精品国产欧美一区二区 | 伊人色综合网 | 日本aa在线 | 国产精品久久久久影视 | 欧美精品久久久久久 | 久久中文欧美 | 片黄色毛片黄色毛片 | 亚洲精品在线免费观看视频 | 亚洲精品资源在线观看 | 美女视频黄在线 | 国产一区国产二区在线观看 | 97在线免费观看 | 992tv在线观看网站 | 久碰视频在线观看 | 天天操天天综合网 | 麻豆视频免费在线 | 国产亚洲精品久久久久久网站 | 欧美日韩三区二区 | 中文av影院 | 丁香五月亚洲综合在线 | 很黄很色很污的网站 | 日本久久高清视频 | 超碰精品在线观看 | 日本久久免费视频 | 日韩免费视频线观看 | 在线免费观看麻豆 | 狂野欧美激情性xxxx欧美 | 开心色插| japanese黑人亚洲人4k | 日韩久久久久久久久久久久 | 日韩在线播放av | 欧美国产精品久久久久久免费 | 欧美伦理一区二区三区 | 91精品对白一区国产伦 | 欧美久久久影院 | 免费精品视频在线观看 | 国产中文字幕视频 | 狠狠色综合网站久久久久久久 | av怡红院| 99久久精品国产免费看不卡 | 国产伦理久久精品久久久久_ | 在线观看一区二区精品 | 国产高清中文字幕 | 国产精品99久久免费黑人 | 免费欧美精品 | 成 人 免费 黄 色 视频 | 五月婷婷六月综合 | 国产视频黄 | 91看片淫黄大片一级在线观看 | 国产中出在线观看 | 超碰在线97观看 | 午夜影院日本 | 热99在线视频 | 久久久免费精品 | 婷婷精品国产欧美精品亚洲人人爽 | 久久理论电影 | 五月婷婷激情 | 右手影院亚洲欧美 | 久久免费一级片 | 天天干天天操天天拍 | 亚洲人成人在线 | 91九色精品女同系列 | 韩日在线一区 | 国产精品九九九 | 国产成人精品国内自产拍免费看 | 国产激情小视频在线观看 | 一区二区三区高清在线观看 | 四虎成人免费影院 | 色鬼综合网 | 在线观看91精品国产网站 | 在线视频精品 | 玖玖爱免费视频 | 久久久毛片 | 欧美a性 | 四虎最新域名 | 亚洲国产日韩在线 | 51久久夜色精品国产麻豆 | 天天干天天上 | 国产99久久精品一区二区永久免费 | 久久96国产精品久久99漫画 | 国产中文字幕一区二区三区 | 日韩精品免费一线在线观看 | 精品黄色在线观看 | 在线免费观看国产 | 日本精品一区二区三区在线观看 | 久草在线在线视频 | .国产精品成人自产拍在线观看6 | 久久一区国产 | 4438全国亚洲精品观看视频 | 天天操天天操天天操天天操天天操天天操 | 色综合久久久久久久久五月 | 日本爱爱片 | 久久成人精品电影 | 久久久精品日本 | 伊人天堂av| 午夜 在线| 免费成人在线观看视频 | 激情欧美国产 | 黄色三级免费观看 | 91传媒视频在线观看 | 欧美成天堂网地址 | 奇米影视777四色米奇影院 | 五月婷婷婷婷婷 | 蜜臀久久99精品久久久久久网站 | 欧美精品乱码久久久久久按摩 | 亚洲人视频在线 | 在线观看韩日电影免费 | 最新免费av在线 | 久久久夜色 | 人人爽人人 | 五月婷婷亚洲 | 99r国产精品 | 91亚色视频在线观看 | 日韩视频免费在线观看 | www亚洲一区 | 天天干,天天操,天天射 | 色偷偷88888欧美精品久久久 | 成 人 黄 色 免费播放 | av免费在线网站 | 天天爱av导航 | 中文字幕亚洲欧美日韩2019 | 久久国产精品视频免费看 | 欧美伦理一区 | 天天色天天搞 | 超碰在线日韩 | 91精品视频在线免费观看 | 欧美激情综合五月色丁香小说 | 亚洲激情国产精品 | 狠狠躁天天躁综合网 | 四虎影视8848dvd | 国产在线视频导航 | 日韩视频免费看 | 激情视频91 | 日韩欧美高清不卡 | 久久久精品国产免费观看一区二区 | 综合网色 | 在线免费试看 | 精品久久精品 | 国产免费一区二区三区网站免费 | 久久久久久久免费观看 | 黄色三级av | 婷婷亚洲综合五月天小说 | 狠狠色狠狠综合久久 | 成人动漫精品一区二区 | 欧美日韩在线电影 | 色av网站 | 成人三级视频 | 亚洲经典视频在线观看 | 日本中文字幕高清 | 成年人免费在线观看网站 | 欧美性生活免费 | 日韩精品在线视频免费观看 | 色999视频 | 91激情小视频 | 黄污视频网站大全 | 在线免费观看视频a | 国产高清 不卡 | 日韩精品视频免费 | 日本99精品 | 在线黄av| 黄色h在线观看 | 一区二区三区电影在线播 | 欧美孕妇与黑人孕交 | 久久国产亚洲视频 | 日韩毛片精品 | 久热免费 | 中文字幕91在线 | 国产精品精品国产婷婷这里av | 久久精品久久久精品美女 | 夜夜夜精品 | 蜜臀av性久久久久av蜜臀妖精 | 成人免费在线电影 | 欧美成年黄网站色视频 | 手机在线观看国产精品 | 免费在线激情视频 | 亚洲国内精品在线 | 日韩中文字幕亚洲一区二区va在线 | 国产a免费| 欧美aa一级 | 天天操伊人 | 99综合影院在线 | 日韩国产精品久久久久久亚洲 | av电影中文字幕 | 成人黄色电影在线播放 | 一本一道久久a久久精品 | 天天干天天操天天做 | 91亚洲欧美 | 免费黄色网址大全 | 亚州日韩中文字幕 | 国产一级大片免费看 | 午夜久久影院 | 日韩在线看片 | 91在线播放视频 | 不卡在线一区 | 日韩精品久久中文字幕 | 日韩手机在线观看 | 精品人人人人 | 在线看成人 | 久久国内视频 | 丁香婷婷激情五月 | 丁香六月综合网 | 国产99爱 | 国产亚洲精品电影 | 成人午夜网址 | www日韩在线观看 | 欧美 国产 视频 | 青青草视频精品 | av一级片| 综合天天久久 | 日韩激情久久 | a国产精品 | 天天干天天操天天 | 久久亚洲国产精品 | 最近中文字幕第一页 | 国产字幕在线看 | 免费无遮挡动漫网站 | 国产综合久久 | 国产精品一区二区久久精品爱涩 | 日日夜夜精品网站 | 九九热精 | 91最新地址永久入口 | 人人澡人摸人人添学生av | 奇米影视在线99精品 | 国产成人一级 | 国产福利91精品张津瑜 | 成人福利在线播放 | 日韩中文字幕视频在线观看 | 五月天久久综合网 | 国产小视频在线免费观看视频 | 精品久久久久久一区二区里番 | 国产成人精品免高潮在线观看 | 啪啪小视频网站 | 日韩一区二区三区免费电影 | 精品在线二区 | 亚洲精品视频在线播放 | 91九色视频国产 | 美女av免费 | 中文字幕在线影院 | 99久久影视| 成人动态视频 | 91丨九色丨首页 | 波多野结衣最新 | 成+人+色综合 | av电影在线观看完整版一区二区 | 日韩在线视 | 色吊丝在线永久观看最新版本 | 久久精品日本啪啪涩涩 | 男女拍拍免费视频 | 日韩av资源在线观看 | 日韩欧美在线视频一区二区三区 | 久久国产露脸精品国产 | 亚洲视频在线免费观看 | 亚洲国产中文字幕在线 | 91av在线视频免费观看 | 中文字幕在线看视频 | 四虎8848免费高清在线观看 | 日韩免费看的电影 | 国产资源中文字幕 | 免费一级片观看 | 超碰97免费在线 | 久久9999久久免费精品国产 | 成人久久综合 | 91精品播放| 精品一二区 | 奇米影视777影音先锋 | 国产精品久久99综合免费观看尤物 | 亚洲精品视频在线播放 | 91精品在线免费 | 精品99在线观看 | 久久午夜精品影院一区 | 在线观看久久久久久 | 欧美色婷婷| 欧美日韩一区二区三区在线免费观看 | 日韩免费在线播放 | 99精品热视频只有精品10 | h视频在线看| 999色视频 | 美女性爽视频国产免费app | 欧美人zozo | 在线观看亚洲电影 | 中文字幕免费在线 | 九九九在线 | 成人网大片 | 嫩草伊人久久精品少妇av | 天天夜操 | av福利在线免费观看 | 超碰在线日韩 | 日韩黄色在线观看 | 国产又粗又猛又爽又黄的视频先 | av资源在线看 | 国产成人av在线影院 | 综合色综合 | 日本少妇久久久 | 国产精品久久久久久妇 | 亚洲精品动漫成人3d无尽在线 | 久久在视频 | 国产专区第一页 | 国产精品成人av久久 | 国产亚洲精品久久19p | 九九欧美视频 | 激情网婷婷 | 国产在线a免费观看 | 日日操网 | 亚洲精品自拍 | 日本三级全黄少妇三2023 | 国产91大片| 少妇性aaaaaaaaa视频 | av中文在线观看 | 亚洲人成在线观看 | 久久精品成人欧美大片古装 | 久久99免费视频 | 婷婷五综合 | 丁香资源影视免费观看 | 中文字幕永久在线 | 久草在线资源免费 | 日韩在线视频观看免费 | 国产亚洲精品久久久久久电影 | 97电影手机| 久久久受www免费人成 | 激情丁香 | 国产黄色成人 | 亚洲资源 | 大荫蒂欧美视频另类xxxx | 99精品欧美一区二区蜜桃免费 | 六月丁香激情网 | 五月婷综合 | 精品亚洲va在线va天堂资源站 | 久久五月婷婷丁香社区 | 在线观看完整版免费 | 精品在线播放视频 | 国产视频久久久久 | 国产男女免费完整视频 | 亚洲干视频在线观看 | 波多野结衣在线视频免费观看 | 综合精品久久 | 国产一区二区在线免费观看 | 黄色av一区 | 国产一区二区久久 | 久久精品视频免费 | 夜色.com| 黄色三级免费片 | 精品欧美一区二区精品久久 | 涩av在线 | www色,com | 精品国自产在线观看 | 国产精品高清在线 | 2021国产在线视频 | 又黄又爽的视频在线观看网站 | 欧美精品在线观看免费 | 在线视频app | 日本久久久影视 | 日本久久中文字幕 | 97超碰超碰久久福利超碰 | 亚洲精品国产精品国自 | 中文字幕乱在线伦视频中文字幕乱码在线 | 九九综合九九 | 精品视频久久久久久 | 国产自制av| 97av在线视频 | 日韩色区| 在线婷婷| 天天色官网 | 国产一级不卡视频 | 91精品办公室少妇高潮对白 | 精品日本视频 | 超碰97国产在线 | 欧美日韩高清不卡 | 日韩精品中文字幕在线 | 欧美成亚洲 | 久久精品3 | 一区二区视频在线看 | 久草在线99 | 久久精品站 | 国产精品中文在线 | 国产成人精品网站 | 久久精品一区二区三区视频 | www.福利视频| 亚洲色图27p | 日韩av偷拍| 黄色小说18 | 欧美日韩国产一二三区 | 天天摸天天操天天爽 | 99久久婷婷国产一区二区三区 | 欧美a级成人淫片免费看 | 人人爽人人舔 | 国产欧美精品xxxx另类 | 亚洲天堂香蕉 | 麻豆免费在线视频 | 亚洲性少妇性猛交wwww乱大交 | 亚洲va天堂va欧美ⅴa在线 | 婷婷五月色综合 | 国产不卡精品视频 | 国产精品 国产精品 | 亚洲 精品在线视频 | 国产精品久久久久久妇 | 狠狠搞,com | 欧美日韩在线播放 | 麻豆系列在线观看 | 天天操天天吃 | 超碰免费97 | 久久香蕉电影网 | www.777奇米| 911在线| 黄色一及电影 | 久久久久久视频 | 91精品国自产拍天天拍 | 黄色软件网站在线观看 | 国产一级大片在线观看 | 午夜精品久久久久久久99婷婷 | 日本精品久久 | 精品毛片一区二区免费看 | 中文字幕在线观看国产 | 欧美日韩一区二区三区视频 | 日韩国产精品久久久久久亚洲 | 免费福利视频网站 | 婷婷中文字幕 | 在线观看亚洲精品视频 | 香蕉视频在线观看免费 | 黄色99视频| 亚洲乱亚洲乱妇 | 狠狠综合网 | 成人夜晚看av| 亚洲黄电影| 久久婷婷色综合 | 免费看三级黄色片 | 国产欧美最新羞羞视频在线观看 | 四虎影视成人 | 中文字幕久久精品 | 特级西西www44高清大胆图片 | av大片免费在线观看 | 中文字幕在线免费97 | 精品在线观看一区二区 | 97超级碰碰碰视频在线观看 | 成人黄色av免费在线观看 | 久久久免费精品国产一区二区 | 狠狠干婷婷色 | av永久网址 | 亚洲综合爱 | 亚洲午夜久久久久久久久 | 99在线视频网站 | 国产精品国产三级在线专区 | 91精品欧美一区二区三区 | 成人av免费在线观看 | 久久综合九色综合久久久精品综合 | 999电影免费在线观看2020 | 欧美日韩免费观看一区二区三区 | 丁香婷婷深情五月亚洲 | 日韩伦理一区二区三区av在线 | 国产成人精品一区二区 | 一区二区三区日韩在线观看 | 免费看片成年人 | 午夜av在线电影 | 中文字幕av电影下载 | 亚洲欧美一区二区三区孕妇写真 | 精品国产aⅴ麻豆 | 天堂av影院 | 狂野欧美激情性xxxx欧美 | 久久爱综合 | 人人干在线 | 国产高清免费av | 久久久人人爽 | 夜夜爱av| 天天爽天天搞 | 黄影院| 天天草天天草 | 午夜少妇一区二区三区 | 在线天堂v | 最新日韩在线观看视频 | 日韩在线网址 | 国内精品视频在线播放 | 干干夜夜 | 久久久香蕉视频 | 天天干,天天射,天天操,天天摸 | 色婷婷www | 日本久久久久久科技有限公司 | 成人影片在线免费观看 | 国产黄大片在线观看 | 一区二区三区在线视频观看58 | 日本性视频 | 国产精品孕妇 | av成人免费网站 | 日韩成人精品一区二区三区 | 国内久久视频 | 综合色狠狠 | 99久久爱 | 91免费试看 | 久久美女免费视频 | 天天草天天干天天射 | 久久精品视频免费观看 | 欧美成年人在线观看 | 69国产精品成人在线播放 | 日韩三级久久 | 999国产在线 | 天天曰视频 | 欧美日韩中文字幕综合视频 | 黄色免费视频在线观看 | 99久久婷婷国产精品综合 | 亚洲人成人在线 | 91精品夜夜| 日本公妇在线观看 | 特级黄色电影 | av中文字幕网址 | 在线观看免费中文字幕 | 亚洲欧洲一区二区在线观看 | 一区二区三区四区不卡 | 亚洲日本精品视频 | 日韩在线影视 | 在线电影av | 国产尤物视频在线 | 欧洲一区二区三区精品 | 色噜噜在线观看视频 | 成年人在线免费看片 | av成人在线电影 | 欧美精品一二 | 日韩一级黄色片 | 97电影手机| 中文视频在线看 | 中文字幕高清av | 欧美地下肉体性派对 | 日韩视频在线播放 | 欧美日韩一级久久久久久免费看 | 色资源中文字幕 | 国产日韩精品视频 | 91精品在线免费视频 | 欧美网址在线观看 | 香蕉视频导航 | 人人插人人费 | 久久精品一区 | 国偷自产视频一区二区久 | 国产精品久久久久久久久久东京 | 国内精品视频在线播放 | 欧美aa级| av资源免费看| 黄色资源在线 | 日韩成人在线免费观看 | 欧美日韩一区二区久久 | 成人高清在线 | 91黄色在线观看 | 波多野结衣一区三区 | 奇米网在线观看 | www激情网 | 麻豆小视频在线观看 | 国产成人一区二区三区影院在线 | 亚洲精品网址在线观看 | 中文字幕视频一区 | 日韩xxxxxxxxx| 欧美激情另类 | 狠狠激情中文字幕 | 亚洲午夜精品电影 | 中文字幕在线观看第一区 | 69国产精品视频 | 亚洲精品中文字幕视频 | 天天躁日日躁狠狠 | 亚洲成人精品在线 | 夜添久久精品亚洲国产精品 | 99久久99久久精品国产片果冰 | 免费高清看电视网站 | 亚洲精品午夜国产va久久成人 | 久久久私人影院 | 99热在线免费观看 | 欧美污网站 | 制服丝袜亚洲 | 天天干天天操人体 | 亚洲精品视频在线播放 | 在线播放日韩 | 亚洲日本三级 | 在线a人v观看视频 | 亚洲a资源 | 免费看黄色小说的网站 | 婷婷色5月 | 免费高清在线视频一区· | 天天拍天天爽 | 综合久久综合久久 | 人人澡人人爱 | 午夜视频久久久 | 国产乱对白刺激视频不卡 | 五月亚洲婷婷 | 欧美日韩二区在线 | 视频在线国产 | 中文字幕精品一区久久久久 | 日韩午夜av电影 | 午夜影视一区 | 国产高清免费在线观看 | 日韩视频图片 | 香蕉视频在线网站 | 正在播放一区二区 | 国产精品99久久久久久宅男 | 最近日本韩国中文字幕 | 精品伦理一区二区三区 | 欧美日韩精 | 国产a级精品 | 亚洲色图色 | 天天综合日日夜夜 | 91av视屏| 国产国语在线 | 97看片吧 | 亚洲一区动漫 | 成人在线超碰 | 久久第四色 | 亚洲六月丁香色婷婷综合久久 | 久草在线看片 | 国产中文字幕在线观看 | 国产精华国产精品 | 日韩一级电影网站 | 国产亚洲视频中文字幕视频 | 久久电影国产免费久久电影 | www.激情五月.com | 一本色道久久精品 | 欧美少妇18p | 成年人在线看片 | 色偷偷网站视频 | 欧美激情一区不卡 | 最近中文国产在线视频 | 欧美日韩xx | 久久国产精品久久久 | 国产精品久免费的黄网站 | 国产免费嫩草影院 | 国产又粗又长的视频 | 免费情缘 | 久久精品综合一区 | 亚洲成人免费在线观看 | 国产原创在线观看 | 日本午夜在线观看 | 日韩精品视 | 日日爱视频 | 中文字幕亚洲欧美日韩 | 国产老妇av| 99在线高清视频在线播放 | 久久手机视频 | 免费看av片网站 | 中文字幕精品一区久久久久 | 国产这里只有精品 | 久久精品99国产 | 日韩av有码在线 | 狠狠色丁香婷婷综合基地 | 欧美色图东方 | 日韩中文字 | 在线观看国产 | 亚洲乱码在线观看 | 精品国产aⅴ麻豆 | 国产视频在线看 | 久草在线综合网 | 免费在线观看视频一区 | 久久综合久久综合这里只有精品 | 在线色吧 | 亚洲一区二区天堂 | 中文字幕一区二区三区乱码在线 | 97国产情侣爱久久免费观看 | 九九色在线观看 | 另类五月激情 | 日韩欧美精品在线视频 | 成人久久久久久久久久 | 久久精品国产免费看久久精品 | 国产精品video爽爽爽爽 | 国产精品免费久久久久久 | 天堂av免费在线 | 91在线一区 | 黄网站污 | 人人射人人插 | 国产福利av在线 | 免费一级黄色 | 国产亚洲精品久久久久动 | 国产99在线播放 | 久久试看 | 久久伊人八月婷婷综合激情 | 激情电影在线观看 | 一区二区视频欧美 | 91福利区一区二区三区 | 日日操日日干 | 国产精品观看在线亚洲人成网 | 丰满少妇在线观看 | 亚洲做受高潮欧美裸体 | 午夜精品在线看 | 中文字幕高清在线 | 国产黄色特级片 | 91av视频在线播放 | 久久综合偷偷噜噜噜色 | 亚洲国产精品久久 | av亚洲产国偷v产偷v自拍小说 | 久久成人高清视频 | 久久综合九色综合97_ 久久久 | 韩国三级在线一区 | 狂野欧美激情性xxxx | 一区二区精品国产 | 久草视频在线免费播放 | 夜色资源站国产www在线视频 | 天堂av网站| 国产美女精品人人做人人爽 | 久久在线视频精品 | 97在线免费观看视频 | 日本福利视频在线 | 亚洲欧美日韩精品一区二区 | 99免费在线观看视频 | 亚州av一区 | 成人国产精品免费 | 一区二区三区日韩在线 | 亚洲综合五月 | 亚洲 综合 激情 | 国产三级视频 | 久久精品久久久精品美女 | 日本黄色免费观看 | 亚洲精品小区久久久久久 | av大全在线观看 | 五月婷婷,六月丁香 | 久久久久久久久久伊人 | 欧美 另类 交 | 日日噜噜噜噜夜夜爽亚洲精品 | 99精品色| 日韩精品在线免费播放 | 在线看片中文字幕 | 久久伊人八月婷婷综合激情 | 9热精品| 夜夜干夜夜 | 看全黄大色黄大片 | 色噜噜在线观看视频 | 欧洲在线免费视频 | 天天操天天射天天插 | 国产成人精品综合久久久久99 | 中文字幕麻豆 | 亚洲五月激情 | 成人久久久精品国产乱码一区二区 | 精品夜夜嗨av一区二区三区 | 91亚洲精品久久久久图片蜜桃 | 97av色 | 久久久久黄 | 国产又粗又猛又黄又爽的视频 | 久久在线免费 | 麻豆视频免费入口 | 伊人夜夜| 免费国产一区二区 | 五月天六月婷 | 香蕉视频久久 | 狠狠干天天 | 亚洲国产欧美在线人成大黄瓜 | 亚洲视频专区在线 | 亚洲国内精品 | 人人爽人人 | 国产直播av | 18国产精品白浆在线观看免费 | 日韩精品一区二区三区电影 | 久久久久久久国产精品视频 | 国产91九色蝌蚪 | 99在线观看免费视频精品观看 | 中文字幕 国产专区 | 精品国产一区二区三区免费 | 婷婷中文字幕在线观看 | 色姑娘综合天天 | 中文字幕日本在线 | 麻豆视频观看 | 日韩精品大片 | 成人污视频在线观看 | 久久国产精品99精国产 | 亚洲专区 国产精品 | 国产麻豆精品一区二区 | 在线亚洲精品 | 成年人免费电影在线观看 | 99中文在线| 日本公妇在线观看高清 | 国产亚洲综合精品 | 国产特黄色片 | 国产最新在线视频 | 亚洲精品免费在线观看视频 | 综合色中色 | a级黄色片视频 | 91精品伦理 | 久久久久亚洲精品中文字幕 | 国产亚洲一区 |