• [API使用] tensorflow算子tf.gradients()迁移到mindspore
    mindspore是否有对应算子可以实现tensorflow下的tf.gradients(ys,xs)算子功能。可以用mindspore.ops.GradOperation实现吗实例中gradients()算子参数如下:tf.gradients(dout, [interpolates])dout--GAN网络判别器的输出interpolates--GAN网络判别器的输入
  • [问题求助] 【华为云GPU产品】【tensorflow的版本】P型弹性云服务器具体支持tensorflow的版本
    【功能模块】 请问P型弹性云服务器具体支持tensorflow哪个版本呢?因为tensorflow1.5的版本和tensorflow2版本相差还是比较大的,不同项目需要不同的tensorflow的版本
  • [问题求助] 计算加速型弹性云服务器具体支持tensorflow哪些版本呢?因为tensorflow1.5的版本和tensorflow2版本相
    计算加速型弹性云服务器具体支持tensorflow哪些版本呢?因为tensorflow1.5的版本和tensorflow2版本相差还是比较大的,不同项目需要不同的tensorflow的版本
  • [问题求助] 【A300t 9000】【tensorflow训练迁移到npu】npu训练精度与cpu训练精度差异过大
    【功能模块】模型代码:""" Deeplabv3+ model for Keras.This model is based on TF repo:https://github.com/tensorflow/gfts_models/tree/master/research/deeplabMobileNetv2 backbone is based on this repo:https://github.com/JonathanCMitchell/mobilenet_v2_keras数据集:自制数据集【操作步骤&问题现象】1、代码中设置使用npu训练import npu_bridgeimport tensorflow as tffrom tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfigdef train(self, visual_task, train_path_list, val_path_list, data_param, data_preprocess_param, hyper_param, out_dir, log_dir): # #1.设置参数 # GPU 显存自动调用 config = tf.compat.v1.ConfigProto() custom_op = config.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = "NpuOptimizer" custom_op.parameter_map["use_off_line"].b = True # 必须显式开启,才能在昇腾处理器执行训练 config.graph_options.rewrite_options.remapping = RewriterConfig.OFF # 必须显式关闭remap config.graph_options.rewrite_options.optimizers.extend(["GradFusionOptimizer"]) # 分布式场景需要添加 sess = tf.compat.v1.Session(config=config) tf.compat.v1.keras.backend.set_session(sess) # os.environ['CUDA_VISIBLE_DEVICES'] = '-1'2、代码中设置使用cpu训练import tensorflow as tfdef train(self, visual_task, train_path_list, val_path_list, data_param, data_preprocess_param, hyper_param, out_dir, log_dir): # #1.设置参数 # GPU 显存自动调用 config = tf.compat.v1.ConfigProto() config.gpu_options.allow_growth = True # session = tf.Session(config=config) tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config)) # os.environ['CUDA_VISIBLE_DEVICES'] = '-1'【截图信息】1. npu训练精度信息2. cpu训练精度信息【日志信息】(可选,上传日志内容或者附件)1. 使用npu训练时npu信息2. 使用cpu训练时npu信息
  • [技术干货] 支持Caffe_Tensorflow_ONNX_MindSpore架构_最高达10Tops算力_边缘计算主板开发实例
     DAB108CB100_PCBA板是针对多媒体处理芯片开发的编解码核心板,  用于给客户展 示芯片强大的多媒体功能和丰富的外围接口,同时提供  基于多媒体芯片的产品整机 AI Box,应用于数据分析盒开发,便于开  发者快速产品化缩短客户产品的开发周期, 降低客户的开发成本和风险。内置神经网络加速算力可达10TOPS,兼容Caffe、TensorFlow、ONNX、MindSpore主流深度学习框架。内置双核 Vision Q6 DSP,智能计算加速引擎,矩阵计算加速单元,双目深度加速单元。视频处理性能优越,支持H.264、H.265视频解码,最大可支持10路1080@30p,编码最大可支持4K@70FPS。丰富的接口资源,支持双路GMAC,可扩展10/100/1000Mbps网口接口,支持扩展8 lane sensor串行输入,带有UART/SPI/I2C/SDIO等多种通用接口扩展。对标Hi3559A平台边缘计算盒子性能全面提升,双NPU组合,算力提升一倍,引用达芬奇新AI架构,支持MindSpore AI开发环境,平滑升级无压力,避免因不同选型导致移植周期过长,可以无缝切换快速落地应用,减少运维成本,且供货保持稳定,是升级Hi3559A平台边缘计算方案的最佳选型。视频编解码均支持行业领先的H.264、H.265标准,解码最大可支持10路1080p@30fps,编码最大可支持4K@70fps,编解码整体性能优异且稳定,降低网络波动带来的影响,优化视频画质,输出超高清且细腻画质的同时保持画面高度流畅性。
  • [热门活动] 【CANN训练营】3-4 TensorFlow AI模型训练
    课程目标:1、了解OBS,ModelArts以及Pycharm插件的关系2、了解ModelArts平台上的训练流程3、掌握如何使用ModelArts平台进行网络训练学习内容:
  • [技术干货] 【CANN训练营】TensorFlow AI 模型手工迁移
    一、学习目标:1、了解如何将TensorFlow训练脚本迁移至Ascend910训练2、了解CANN平台的部分特性二、学习内容:1、Estimator迁移要点:2、Sess.Run迁移要点:3、实验截图:
  • [问题求助] 【NPU产品】【数据集读取功能】TF读取数据集方法改成Dataset
    【问题描述】monodepth 模型读取数据集方法改成Dataset方法。具体是将tf.train.shuffle_batch()改成tf.data.Dataset()方法,方便模型迁移过程中,训练时在固定shape下进行。 dataset = dataset.batch(batch_size, drop_remainder=True) monodepth github 源码地址     读数据集方法代码在monodepth_dataloader.py中sess.run 迁移方法修改【尝试修改遇到问题】在GPU上修改,当代码执行到sess.run(iterator.initializer)这里会卡住,没有日志也没有报错信息我尝试替换的方式是不是不对left_image = tf.cond(do_flip > 0.5, lambda: tf.image.flip_left_right(right_image_o), lambda: left_image_o) right_image = tf.cond(do_flip > 0.5, lambda: tf.image.flip_left_right(left_image_o), lambda: right_image_o) left_image.set_shape([None, None, 3]) right_image.set_shape([None, None, 3]) # left_image 打印格式如下 # Tensor("cond_4/Merge:0", shape=(256, 512, 3), dtype=float32, device= / device: CPU:0) # Tensor("cond_4/Merge_1:0", shape=(256, 512, 3), dtype=float32, device= / device: CPU:0) # capacity = min_after_dequeue + (num_threads + a small safety margin) * batch_size # 对训练集乱序放置,设置容器 min_after_dequeue = 2048 capacity = min_after_dequeue + 4 * params.batch_size # 如果是测试立体图,将图片与翻转后的图片进行进行拼接,获得高维度图片,一个维度是原图,另一个维度是翻转后的图片。 print("================================ need replace method ===========================") self.left_image_batch, self.right_image_batch = tf.train.shuffle_batch([left_image, right_image], params.batch_size, capacity, min_after_dequeue, params.num_threads) # left_image_batch 打印格式如下 # Tensor("shuffle_batch:0", shape=(8, 256, 512, 3), dtype=float32, device= / device: CPU:0) # Tensor("shuffle_batch:1", shape=(8, 256, 512, 3), dtype=float32, device= / device: CPU:0) print("================================ replace new method ===========================") my_dataset = tf.data.Dataset.from_tensor_slices([left_image, right_image]).shuffle(buffer_size=min_after_dequeue).batch( params.batch_size) iterator = my_dataset.make_initializable_iterator() with tf.Session() as sess: print("================================ 执行到这里会卡住 ===========================") sess.run(iterator.initializer) while True: try: ts = sess.run(iterator.get_next()) left_image_batch = ts.__getitem__(0) right_image_batch = ts.__getitem__(1) except tf.errors.OutOfRangeError: break print("left_image_batch: ", left_image_batch) print("right_image_batch: ", right_image_batch) [修改后完整的文件代码]见monodepth_dataloader.py.zip附件
  • [技术干货] 更复杂的体系结构能保证更好的模型吗?
    使用的数据集和数据预处理我们将使用Kaggle的狗与猫数据集。它是根据知识共享许可证授权的,这意味着你可以免费使用它:该数据集相当大——25000张图像均匀分布在不同的类中(12500张狗图像和12500张猫图像)。它应该足够大,以训练一个像样的图像分类器。你还应该删除train/cat/666.jpg和train/dog/11702.jpg图像,这些已经损坏,你的模型将无法使用它们进行训练。接下来,让我们看看如何使用TensorFlow加载图像。如何使用TensorFlow加载图像数据今天你将看到的模型将比前几篇文章中的模型具有更多的层。为了可读性,我们将从TensorFlow中导入单个类。如果你正在跟进,请确保有一个带有GPU的系统,或者至少使用Google Colab。让我们把库的导入放在一边:这是很多,但模型会因此看起来格外干净。我们现在将像往常一样加载图像数据——使用ImageDataGenerator类。我们将把图像矩阵转换为0–1范围,使用用三个颜色通道,将所有图像调整为224x224。出于内存方面的考虑,我们将barch大小降低到32:以下是你应该看到的输出:让我们鼓捣第一个模型!向TensorFlow模型中添加层会有什么不同吗?从头开始编写卷积模型总是一项棘手的任务。网格搜索最优架构是不可行的,因为卷积模型需要很长时间来训练,而且有太多的参数需要检查。实际上,你更有可能使用迁移学习。这是我们将在不久的将来探讨的主题。今天,这一切都是为了理解为什么在模型架构上大刀阔斧是不值得的。我们用一个简单的模型获得了75%的准确率,所以这是我们必须超越的基线。模型1-两个卷积块我们将宣布第一个模型在某种程度上类似于VGG体系结构——两个卷积层,后面是一个池层。滤波器设置如下,第一个块32个,第二个块64个。至于损失和优化器,我们将坚持基本原则——分类交叉熵和Adam。数据集中的类是完全平衡的,这意味着我们只需跟踪准确率即可:model_1 = tf.keras.Sequential([   Conv2D(filters=32, kernel_size=(3, 3), input_shape=(224, 224, 3), activation='relu'),   Conv2D(filters=32, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Flatten(),   Dense(units=128, activation='relu'),   Dense(units=2, activation='softmax')])model_1.compile(   loss=categorical_crossentropy,   optimizer=Adam(),   metrics=[BinaryAccuracy(name='accuracy')])model_1_history = model_1.fit(   train_data,   validation_data=valid_data,   epochs=10)以下是经过10个epoch后的训练结果:看起来我们的表现并没有超过基线,因为验证准确率仍然在75%左右。如果我们再加上一个卷积块会发生什么?模型2-三个卷积块我们将保持模型体系结构相同,唯一的区别是增加了一个包含128个滤波器的卷积块:model_2 = Sequential([   Conv2D(filters=32, kernel_size=(3, 3), input_shape=(224, 224, 3), activation='relu'),   Conv2D(filters=32, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Conv2D(filters=128, kernel_size=(3, 3), activation='relu'),   Conv2D(filters=128, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Flatten(),   Dense(units=128, activation='relu'),   Dense(units=2, activation='softmax')])model_2.compile(   loss=categorical_crossentropy,   optimizer=Adam(),   metrics=[BinaryAccuracy(name='accuracy')])model_2_history = model_2.fit(   train_data,   validation_data=valid_data,   epochs=10)日志如下:效果变差了。虽然你可以随意调整batch大小和学习率,但效果可能仍然不行。第一个架构在我们的数据集上工作得更好,所以让我们试着继续调整一下。模型3-带Dropout的卷积块第三个模型的架构与第一个模型相同,唯一的区别是增加了一个全连接层和一个Dropout层。让我们看看这是否会有所不同:model_3 = tf.keras.Sequential([   Conv2D(filters=32, kernel_size=(3, 3), input_shape=(224, 224, 3), activation='relu'),   Conv2D(filters=32, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),   MaxPool2D(pool_size=(2, 2), padding='same'),      Flatten(),   Dense(units=512, activation='relu'),   Dropout(rate=0.3),   Dense(units=128),   Dense(units=2, activation='softmax')])model_3.compile(   loss=categorical_crossentropy,   optimizer=Adam(),   metrics=[BinaryAccuracy(name='accuracy')])model_3_history = model_3.fit(   train_data,   validation_data=valid_data,   epochs=10)以下是训练日志:太可怕了,现在还不到70%!上一篇文章中的简单架构非常好。反而是数据质量问题限制了模型的预测能力。结论这就证明了,更复杂的模型体系结构并不一定会产生性能更好的模型。也许你可以找到一个更适合猫狗数据集的架构,但这可能是徒劳的。你应该将重点转移到提高数据集质量上。当然,有20K个训练图像,但我们仍然可以增加多样性。这就是数据增强的用武之地。感谢阅读!       原文标题 : 更复杂的体系结构能保证更好的模型吗?
  • [技术干货] 支持Caffe_Tensorflow_ONNX_MindSpore_最高达10Tops算力_边缘计算主板开发实例
    DAB108CB100_PCBA板是针对多媒体处理芯片开发的编解码核心板,  用于给客户展 示芯片强大的多媒体功能和丰富的外围接口,同时提供  基于多媒体芯片的产品整机 AI Box,应用于数据分析盒开发,便于开  发者快速产品化缩短客户产品的开发周期, 降低客户的开发成本和风险。基于NPU+AI ISP芯片开发_4Tops INT8_4K60编码_海思3519A/3559A替代方案_编解码核心板复制链接https://cloud.tencent.com/developer/article/1973592
  • [技术干货] 支持Caffe_Tensorflow_ONNX_MindSpore_最高达10Tops算力_边缘计算主板开发实例
    DAB108CB100_PCBA板是针对多媒体处理芯片开发的编解码核心板,  用于给客户展 示芯片强大的多媒体功能和丰富的外围接口,同时提供  基于多媒体芯片的产品整机 AI Box,应用于数据分析盒开发,便于开  发者快速产品化缩短客户产品的开发周期, 降低客户的开发成本和风险。基于NPU+AI ISP芯片开发_4Tops INT8_4K60编码_海思3519A/3559A替代方案_编解码核心板复制链接https://cloud.tencent.com/developer/article/1973592
  • [技术干货] 支持Caffe_Tensorflow_ONNX_MindSpore_最高达10Tops算力_边缘计算主板开发实例
    DAB108CB100_PCBA板是针对多媒体处理芯片开发的编解码核心板,  用于给客户展 示芯片强大的多媒体功能和丰富的外围接口,同时提供  基于多媒体芯片的产品整机 AI Box,应用于数据分析盒开发,便于开  发者快速产品化缩短客户产品的开发周期, 降低客户的开发成本和风险。基于NPU+AI ISP芯片开发_4Tops INT8_4K60编码_海思3519A/3559A替代方案_编解码核心板复制链接https://cloud.tencent.com/developer/article/1973592
  • [问题求助] Atlas 200D开发者套件-AMCT_TensorFlow模型均匀量化,处理速度提升很小
    【功能模块】AMCT   对YOLOV3  TensorFlow模型进行Python API脚本量化【操作步骤&问题现象】量化源samples-v0.6.0/python/level1_single_api/9_amct/amct_tensorflow/yolo_v31、模型/数据集下载  执行量化2、ATC模型转换3  加载模型执行应用程序从float32 转到 int8   模型的处理时间并没有很大的提升,帧率提升失败,这是原因什么引起的?【截图信息】【日志信息】(可选,上传日志内容或者附件)samples-v0.6.0/python/level1_single_api/9_amct/amct_tensorflow/yolo_v3
  • [问题求助] 【atlas300】【modelzoo】想知道modelzoo中的tensorflow版的yolov4是如何训练得到的
    modelzoo中有提到这个版本的yolov4的模型参数和参考实现的代码但是我看了这个代码链接里面并没有完全涉及模型的训练而是大篇幅地说了从darknet框架转换为tf的参数,想请教一下这个模型的训练代码,因为我对比了c++样例中所用到的yolov4的模型结构和这个一模一样,想用来训练自己的数据集,求分享modelzoo中提到的参考实现:url=https://github.com/hunglc007/tensorflow-yolov4-tflite.git branch=master commit_id=0ff4401fc4990ca9a818e4d0bf151455630f4a89
  • [问题求助] pytorch框架能否使用,或者pytorch转caffe/TensorFlow能否使用
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)