-
训练作业参数有两种来源,包括后台自动生成的参数和用户手动输入的参数。具体获取方式如下:创建训练作业时,训练作业运行参数中的“train_url”指的是训练输出位置,“data_url”指的是数据来源,为后台自动生成。“test”的参数为手动输入。训练作业运行成功之后,在训练作业列表中,您可以单击作业名称,查看该作业的详情。可从日志中获取参数的传入方式,如图所示。若需在训练中获取“train_url”、“data_url”和“test”参数的值,可在训练作业的启动文件中添加以下代码获取:import argparseparser = argparse.ArgumentParser()parser.add_argument('--data_url', type=str, default=None, help='test')parser.add_argument('--train_url', type=str, default=None, help='test')parser.add_argument('--test', type=str, default=None, help='test')
-
武汉昇腾生态创新中心与武汉人工智能计算中心同步建设,向入驻企业提供解决方案设计、AI应用开发(迁移)、上市联合营销等全生命周期服务。因为:建设人工智能计算中心只是第一步,支持计算中心的后续运营和创造产业价值还需要另外搭建平台。案例:1 武汉长江计算科技有限公司依托武汉人工智能计算中心,完成智能制造算法训练,已在长江计算服务器智造基地部署上线;实现云边协同,实时上传未识别照片,中心侧持续训练模型,端侧实时更新,满足柔性制造要求,灵活适配检测内容,2小时即可完成产线算法更换。2 中科院自动化所借助武汉人工智能计算中心打造了全球首个三模态预训练大模型“紫东.太初”,进一步完善了以图生音、以音生图的技术和表现,实现了图、文、音的统一表达。3 武汉库柏特科技有限公司则与武汉人工智能计算中心合作,自主创新研制智能机器人补药系统可以做到给发药机补药的自动化与智能化,补药期间无需人工值守,可实现800盒/小时行业内最快上药速度。
-
1. 安装环境!pip install -q git+https://github.com/tensorflow/examples.git !pip install -q -U tfds-nightly2. 导入依赖包import tensorflow as tf from tensorflow_examples.models.pix2pix import pix2pix import tensorflow_datasets as tfds from IPython.display import clear_output import matplotlib.pyplot as plt tfds.disable_progress_bar()3. 导入数据集dataset, info = tfds.load('oxford_iiit_pet:3.*.*', with_info=True)def normalize(input_image, input_mask): input_image = tf.cast(input_image, tf.float32) / 255.0 # 归一化 input_mask -= 1 # 标签减1 return input_image, input_mask@tf.function def load_image_train(datapoint): input_image = tf.image.resize(datapoint['image'], (128, 128)) input_mask = tf.image.resize(datapoint['segmentation_mask'], [128, 128]) if tf.random.uniform(()) > 0.5: input_image = tf.image.flip_left_right(input_image) # 图像左右翻转 input_mask = tf.image.flip_left_right(input_mask) # 轮廓标注左右翻转 input_image, input_mask = normalize(input_image, input_mask) return input_image, input_maskdef load_image_test(datapoint): input_image = tf.image.resize(datapoint['image'], (128, 128)) input_mask = tf.image.resize(datapoint['segmentation_mask'], (128, 128)) input_image, input_mask = normalize(input_image, input_mask) return input_image, input_mask4. 拆分训练集和测试集train_length = info.splits['train'].num_examples batch_size = 64 buffer_size = 1000 steps_per_epoch = train_length // batch_size train = dataset['train'].map(load_image_train, num_parallel_calls=tf.data.experimental.AUTOTUNE) test = dataset['test'].map(load_image_test) train_dataset = train.cache().shuffle(buffer_size).batch(batch_size).repeat() train_dataset = train_dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE) test_dataset = test.batch(batch_size)5. 查看原始图片和轮廓标注图片def display(display_list): plt.figure(figsize=(15, 15)) title = ['Input Image', 'True Mask', 'Predicted Mask'] for i in range(len(display_list)): plt.subplot(1, len(display_list), i + 1) plt.title(title[i]) plt.imshow(tf.keras.preprocessing.image.array_to_img(display_list[i])) plt.axis('off') plt.show()for image, mask in train.take(1): sample_image, sample_mask = image, mask display([sample_image, sample_mask])输出通道为3output_channels = 36. 使用预训练的MobileNetV2作为编码器/下采样器base_model = tf.keras.applications.MobileNetV2(input_shape=[128, 128, 3], include_top=False) layer_names = [ 'block_1_expand_relu' , 'block_3_expand_relu' , 'block_6_expand_relu' , 'block_13_expand_relu' , 'block_16_project' ] layers = [base_model.get_layer(name).output for name in layer_names] down_stack = tf.keras.Model(inputs=base_model.input, outputs=layers) down_stack.trainable = False7. 使用pix2pix作为解码器/上采样器up_stack = [ pix2pix.upsample(512, 3) , pix2pix.upsample(256, 3) , pix2pix.upsample(128, 3) , pix2pix.upsample(64, 3) ]def unet_model(output_channels): inputs = tf.keras.Input(shape=[128, 128, 3]) x = inputs skips = down_stack(x) x = skips[-1] skips = reversed(skips[:-1]) for up, skip in zip(up_stack, skips): x = up(x) concat = tf.keras.layers.Concatenate() x = concat([x, skip]) last = tf.keras.layers.Conv2DTranspose( output_channels, 3, strides=2 , padding='same' ) x = last(x) return tf.keras.Model(inputs=inputs, outputs=x)8. 建立模型model = unet_model(output_channels) model.compile(optimizer='adam' , loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True) , metrics=['accuracy'])9. 查看模型结构tf.keras.utils.plot_model(model, show_shapes=True)10. 查看训练前模型的预测结果def create_mask(pred_mask): pred_mask = tf.argmax(pred_mask, axis=-1) pred_mask = pred_mask[..., tf.newaxis] return pred_mask[0]def show_predictions(dataset=None, num=1): if dataset: for image, mask in dataset.take(num): pred_mask = model.predict(image) display([image[0], mask[0], create_mask(pred_mask)]) else: display([sample_image, sample_mask, create_mask(model.predict(sample_image[tf.newaxis, ...]))]) show_predictions()11. 回调函数class DisplayCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=None): clear_output(wait=True) show_predictions() print('Eepoch {}'.format(epoch + 1)) epochs = 20 val_subsplits = 5 validation_steps = info.splits['test'].num_examples // batch_size // val_subsplits12. 训练模型history = model.fit(train_dataset, epochs=epochs , steps_per_epoch=steps_per_epoch , validation_steps=validation_steps , validation_data=test_dataset , callbacks=[DisplayCallback()] )13. 损失可视化loss = history.history['loss'] val_loss = history.history['val_loss'] epochs = history.epoch plt.figure() plt.plot(epochs, loss, 'g', label='loss') plt.plot(epochs, val_loss, 'yo', label='val_loss') plt.title('Loss') plt.xlabel('Epoch') plt.ylabel('Loss') plt.ylim([0, 1]) plt.legend() plt.show()14. 进行预测show_predictions(test_dataset, 3)
-
近日,国际数据公司IDC发布 《IDC中国2021H1人工智能公有云服务市场研究报告》 华为云一站式AI开发平台 ModelArts 位居中国机器学习公有云服务市场份额第一 连续三次登上该市场榜首位置 报告指出,在中国机器学习公有云服务市场中,华为云受到政企客户的青睐,在AI云服务市场的竞争优势逐渐凸显。华为云一站式AI开发平台ModelArts可以提供数据处理、算法开发、模型训练、模型管理、模型部署等AI模型开发全流程技术能力;率先支持MLOps;持续构建大模型训练优化能力。同时积极打造开放的AI生态,接入生态开发工具,通过华为云AI Gallery联接AI市场的供、需、学三方,助力解决AI落地时所面临的“AI算力稀缺、AI人才短缺、AI开发难、AI行业应用难”两难两缺难题,推动AI走进千行百业的核心生产系统。面向AI开发者,持续提供硬核黑科技服务 ModelArts人工智能集群服务支持大规模分布式训练。为帮助开发者及企业客户解决训练大模型时面临的技术、成本、资源等挑战,华为云一站式AI开发平台ModelArts提供人工智能集群服务,全场景深度优化,支持大规模分布式训练。从端到端全流程角度看,相比线下开发大模型,基于ModelArts的开发效率可提升4倍以上,并且可以解决超大模型训练的资源可获得性问题。云原生模型开发工具链,助力AI开发效率提升。华为云一站式AI开发平台ModelArts支持将云上资源与开发工具链相结合。面向AI初学者,线上CodeLab支持秒级接入资源,可按需切换;面向深度开发者,支持云上远程开发与自定义开发环境。借助云原生的资源调度,开发者可进一步构筑基于ModelArts云原生的算法开发范式和能力。面向AI生态,搭建“知识”+“实训”的AI开发社区 基于一站式AI开发平台ModelArts,华为云构建了开发者生态社区AI Gallery,这是一个AI资产共享的社交平台,也是“知识”+“实训”的AI开发社区。 AI Gallery汇聚了算法、模型、数据集、工作流等10余种、50000余个AI资产,保障AI开发、应用生态链上的各个参与方都能高效地实现各自的商业价值,降低各行各业开发者在人工智能领域的学习门槛,加速AI的应用实践。面向AI行业落地,全面支持全流程MLOps开发 华为云一站式AI开发平台ModelArts全面支持MLOps,改变了原有分段开发AI模型的流程, 实现全流程自动化的协同迭代开发模式。ModelArts也成为国内首个支持MLOps的AI开发平台。 基于MLOps的理念,华为云一站式AI开发平台ModelArts的Workflow工具提供运行记录、监控、持续运行等功能。通过Workflow工具,实现AI开发、运行及运行后监测的全生命周期管理,加快AI开发到落地的迭代速度,以及效果体验的持续优化。同时,开发者可通过AI Gallery实现Workflow快速构建与能力分享。华为云一站式AI开发平台ModelArts帮助企业实现了AI应用全生命周期管理,大幅提升AI开发效率,加速了AI在千行百业的落地。制造领域,华为云和博世华域基于ModelArts Workflow开发出了刀具状态智能识别Usecase。通过刀具声音识别算法,在保证良品率的情况下,刀具使用效率提升5%以上。基于MLOps理念打造的刀具声音识别Usecase,能够轻松地针对不同刀具甚至其他生产工具进行方案扩展,将声音检测算法应用在更广泛的制造行业状态维护场景;药物研发领域,依托华为云一站式AI开发平台ModelArts与华为云一站式医疗研发平台EIHealth,中国科学院上海药物研究所联合华为云训练了华为云盘古药物分子大模型,赋能全流程的AI药物设计,大幅提升新药研发效率;交通运输领域,深圳机场基于华为云机场智能体快速构建60+调度规则,实现机位分配自动化、智能化,让机场靠桥率提升5%,每年帮助260万旅客免乘摆渡车。转自华为云公众号
-
完成本实验贴任务视为支持 AI发展需要更多的前沿技术还是需要与更多的行业结合?正方观点√正方观点:需要更多的前沿技术活动时间:2021年12月23日~2022年1月16日 参与方式:1、按照demo操作实验 》点击查看实验demo《2、按照要求生成实验结果截图,反馈到此活动贴 特别说明:请务必完成年终活动报名:点击报名请务必按照以下格式要求进行回帖,否则无法计算奖励:1、华为云账号:xxx(即右上角的字母数字组合ID)2、任务截图:注意事项:1、请务必使用个人账号参与活动(IAM、企业账号等账号参与无效)2、 本次活动规则详见:https://bbs.huaweicloud.com/forum/thread-174300-1-1.html参与博文写作,还能另外获奖喔点击了解
-
1.导入依赖包from tensorflow import keras import tensorflow as tf import numpy as np import pandas as pd import os import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from tensorflow.keras.layers import Conv2D, BatchNormalization, Activation from tensorflow.keras import Model2.导入数据集train = pd.read_csv('./data/fashion_train.csv') test = pd.read_csv('./data/fashion_test.csv') print(train.shape, test.shape)3.数据预处理input_shape = (28, 28, 1) x = np.array(train.iloc[:, 1:]) y = keras.utils.to_categorical(np.array(train.iloc[:, 0])) x_train, x_val, y_train, y_val = train_test_split(x, y, test_size=0.2) print(x_train.shape, y_train.shape) x_test = np.array(test.iloc[:, 0:]) x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) x_val = x_val.reshape(x_val.shape[0], 28, 28, 1) x_test = x_test.reshape(x_test.shape[0], 28, 28, 1) print(x_train.shape, y_train.shape) x_train = x_train.astype('float32') x_val = x_val.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_val /= 255 x_test /= 255 batch_size = 64 classes = 10 epochs = 54.建立模型class ResnetBlock(Model): def __init__(self, filters, strides=1, residual_path=False): super(ResnetBlock, self).__init__() self.filters = filters self.strides = strides self.residual_path = residual_path self.c1 = Conv2D(filters, (3, 3), strides=strides, padding='same', use_bias=False) self.b1 = BatchNormalization() self.a1 = Activation('relu') self.c2 = Conv2D(filters, (3, 3), strides=1, padding='same', use_bias=False) self.b2 = BatchNormalization() if residual_path: self.down_c1 = Conv2D(filters, (1, 1), strides=strides, padding='same', use_bias=False) self.down_b1 = BatchNormalization() self.a2 = Activation('relu') def call(self, inputs): residual = inputs x = self.c1(inputs) x = self.b1(x) x = self.a1(x) x = self.c2(x) y = self.b2(x) if self.residual_path: residual = self.down_c1(inputs) residual = self.down_b1(residual) out = self.a2(y + residual) return out block_list = [2, 2, 2, 2] initial_filters = 64 num_blocks = len(block_list) block_list = block_list out_filters = initial_filters blocks = tf.keras.models.Sequential() for block_id in range(len(block_list)): for layer_id in range(block_list[block_id]): if block_id != 0 and layer_id == 0: block = ResnetBlock(out_filters, strides=2, residual_path=True) else: block = ResnetBlock(out_filters, residual_path=False) blocks.add(block) out_filters *= 2 model = tf.keras.models.Sequential([ Conv2D(64, (3, 3), strides=1, padding='same', use_bias=False) , BatchNormalization() , Activation('relu') , blocks , tf.keras.layers.GlobalAveragePooling2D() , tf.keras.layers.Dense(10, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2()) ])5.定义优化器、损失函数和评价指标model.compile(optimizer='adam' , loss='categorical_crossentropy' , metrics=['accuracy'])6.断点续训save_path = './checkpoint/inception.ckpt' if os.path.exists(save_path + '.index'): print('model loading') model.load_weights(save_path) cp_callback = keras.callbacks.ModelCheckpoint(filepath=save_path , save_weights_only=True , save_best_only=True) callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3)7.训练模型history = model.fit(x_train, y_train , batch_size=batch_size , epochs=epochs , verbose=1 , validation_data=(x_val, y_val) , callbacks=[cp_callback, callback])8.预测结果result = model.predict(x_test) pred = tf.argmax(result, axis=1) df = pd.DataFrame(pred, columns=['label']) df.to_csv(path_or_buf='Submission.csv', index_label='image_id')9.模型损失和准确率可视化print(history.history.keys()) plt.plot(history.epoch, history.history.get('loss'), label='loss') plt.plot(history.epoch, history.history.get('val_loss'), label='val_loss') plt.legend() plt.show() plt.plot(history.epoch, history.history.get('accuracy'), label='acc') plt.plot(history.epoch, history.history.get('val_accuracy'), label='val_acc') plt.legend() plt.show()
-
1.导入依赖包from tensorflow import keras import tensorflow as tf import numpy as np import pandas as pd import os import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from tensorflow.keras.layers import Conv2D, BatchNormalization, Activation, Dense, Flatten, Dropout, MaxPool2D2.导入数据train = pd.read_csv('./data/fashion_train.csv') test = pd.read_csv('./data/fashion_test.csv') print(train.shape, test.shape)3.数据预处理input_shape = (28, 28, 1) x = np.array(train.iloc[:, 1:]) y = keras.utils.to_categorical(np.array(train.iloc[:, 0])) x_train, x_val, y_train, y_val = train_test_split(x, y, test_size=0.2) print(x_train.shape, y_train.shape) x_test = np.array(test.iloc[:, 0:]) x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) x_val = x_val.reshape(x_val.shape[0], 28, 28, 1) x_test = x_test.reshape(x_test.shape[0], 28, 28, 1) print(x_train.shape, y_train.shape) x_train = x_train.astype('float32') x_val = x_val.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_val /= 255 x_test /= 255 batch_size = 64 classes = 10 epochs = 54.建立模型model = keras.models.Sequential([ Conv2D(filters=64, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=64, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(2, 2), strides=2, padding='same') , Dropout(0.2) , Conv2D(filters=128, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=128, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(2, 2), strides=2, padding='same') , Dropout(0.2) , Conv2D(filters=256, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=256, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=256, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(2, 2), strides=2, padding='same') , Dropout(0.2) , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(2, 2), strides=2, padding='same') , Dropout(0.2) , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , Conv2D(filters=512, kernel_size=(3, 3), padding='same') , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(2, 2), strides=2, padding='same') , Dropout(0.2) , Flatten() , Dense(512, activation='relu') , Dropout(0.2) , Dense(512, activation='relu') , Dropout(0.2) , Dense(classes, activation='softmax') ])5.定义优化器、损失函数和评价指标model.compile(optimizer='adam' , loss='categorical_crossentropy' , metrics=['accuracy'])6.断点续训save_path = './checkpoint/VGG16.ckpt' if os.path.exists(save_path + '.index'): print('model loading') model.load_weights(save_path) cp_callback = keras.callbacks.ModelCheckpoint(filepath=save_path , save_weights_only=True , save_best_only=True)7.训练模型history = model.fit(x_train, y_train , batch_size=batch_size , epochs=epochs , verbose=1 , validation_data=(x_val, y_val) , callbacks=[cp_callback])8.预测结果result = model.predict(x_test) pred = tf.argmax(result, axis=1) df = pd.DataFrame(pred, columns=['label']) df.to_csv(path_or_buf='Submission.csv', index_label='image_id')9.损失和准确率可视化print(history.history.keys()) plt.plot(history.epoch, history.history.get('loss'), label='loss') plt.plot(history.epoch, history.history.get('val_loss'), label='val_loss') plt.legend() plt.show() plt.plot(history.epoch, history.history.get('accuracy'), label='acc') plt.plot(history.epoch, history.history.get('val_accuracy'), label='val_acc') plt.legend() plt.show()
-
1.导入依赖包from tensorflow import keras import tensorflow as tf import numpy as np import pandas as pd import os import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from tensorflow.keras.layers import Conv2D, BatchNormalization, Activation, Dense, Flatten, Dropout, MaxPool2D2.导入数据集train = pd.read_csv('./data/fashion_train.csv') test = pd.read_csv('./data/fashion_test.csv') print(train.shape, test.shape)3.数据预处理3.1读取训练集和验证集input_shape = (28, 28, 1) x = np.array(train.iloc[:, 1:]) y = keras.utils.to_categorical(np.array(train.iloc[:, 0])) x_train, x_val, y_train, y_val = train_test_split(x, y, test_size=0.2) print(x_train.shape, y_train.shape)3.2修改数据维度x_test = np.array(test.iloc[:, 0:]) x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) x_val = x_val.reshape(x_val.shape[0], 28, 28, 1) x_test = x_test.reshape(x_test.shape[0], 28, 28, 1) print(x_train.shape, y_train.shape)3.3数据归一化x_train = x_train.astype('float32') x_val = x_val.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_val /= 255 x_test /= 255 batch_size = 64 classes = 10 epochs = 54.建立模型model = keras.models.Sequential([ Conv2D(filters=96, kernel_size=(3, 3)) , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(3, 3), strides=2) , Conv2D(filters=256, kernel_size=(3, 3)) , BatchNormalization() , Activation('relu') , MaxPool2D(pool_size=(3, 3), strides=2) , Conv2D(filters=384, kernel_size=(3, 3), padding='same', activation='relu') , Conv2D(filters=384, kernel_size=(3, 3), padding='same', activation='relu') , Conv2D(filters=256, kernel_size=(3, 3), padding='same', activation='relu') , MaxPool2D(pool_size=(3, 3), strides=2) , Flatten() , Dense(2048, activation='relu') , Dropout(0.5) , Dense(2048, activation='relu') , Dropout(0.5) , Dense(classes, activation='softmax') ])5.定义优化器、损失函数和评价指标model.compile(optimizer='adam' , loss='categorical_crossentropy' , metrics=['accuracy'])6.设置断点续训save_path = './checkpoint/AlexNet.ckpt' if os.path.exists(save_path + '.index'): print('model loading') model.load_weights(save_path) cp_callback = keras.callbacks.ModelCheckpoint(filepath=save_path , save_weights_only=True , save_best_only=True)7.训练模型history = model.fit(x_train, y_train , batch_size=batch_size , epochs=epochs , verbose=1 , validation_data=(x_val, y_val) , callbacks=[cp_callback])8.将预测结果写入csv文件result = model.predict(x_test) pred = tf.argmax(result, axis=1) df = pd.DataFrame(pred, columns=['label']) df.to_csv(path_or_buf='Submission.csv', index_label='image_id')9.模型损失和准确率可视化print(history.history.keys()) plt.plot(history.epoch, history.history.get('loss'), label='loss') plt.plot(history.epoch, history.history.get('val_loss'), label='val_loss') plt.legend() plt.show() plt.plot(history.epoch, history.history.get('accuracy'), label='acc') plt.plot(history.epoch, history.history.get('val_accuracy'), label='val_acc') plt.legend() plt.show()
-
活动贴:[7天实战营-活动公告] 【打卡帖】【7天大数据分析实战训练营】每日打卡,赢取阶段奖励~实践总结:day1:day2:华为云大数据分析7天训练营(二)-云社区-华为云 https://bbs.huaweicloud.com/blogs/289063day3:具体课件整理详见 华为云大数据分析7天训练营(三)-云社区-华为云 https://bbs.huaweicloud.com/blogs/289572第三章 打破数据孤岛异构数据源联合分析业务创新实践学习笔记1.异构数据源商业价值各种场景下的数据,往往需要使用各种不同的大数据产品进行数据的存储与处理。而不同来源的数据,需要联合分析才能发挥其最大价值。DLI通 过SparkData的 Source能力,连接不同数据源,实现不同服务之间的跨源分析计算。同时,DLI提供基于SQL的计算集群 与定制化的Spaserverless计算集群。用户可以编写简单的SQL语句,也可以自定义复杂的 Spark程序来实现跨源分析。2.企业智能化数据经营分析数据湖探索(DLI)服务多源数据分析架构企业H需要对其产品、经销商与销售订单进行信息管理,通过以下2种业务场景及解决思路更好的了解了数据湖探索(DLI)服务多源数据分析架构场景一:计算经销商B1每月Mate20销量与销售额解决方案:每个月的销量数据存放在CT的订单信息中,可以使用分组聚合的方式按月计算销量;而商品信息存放在DWS中,要使用D的跨源多表联合能力,计算出销售额(销量*单价)场景二:预测经销商B1下月Mate20销量解决方案:MLS是深度集成DLI的机器学习服务,为用户提供简易的工作流操作界面来实现数据的智能分析,如销售预测等。MLS支持通过OBS读取数据并结合创建的工作流,转换成 Spark作业提交到DLI后台运行。day4:华为云大数据分析7天训练营(四)-云社区-华为云 https://bbs.huaweicloud.com/blogs/289827结果数据一直查不到 郁闷了day5:day6:day7:华为云大数据分析7天训练营(七)使用DGC实现每日动态发布电影排行榜-云社区-华为云 https://bbs.huaweicloud.com/blogs/292330
-
以上是我做实验的截图,我也希望能够抽奖中到我,哈哈啊哈哈哈!! 打卡打卡!
-
Self-attention based Text Knowledge Mining for Text Detection本文提出 STKM,可以进行端到端训练,以获得一般的文本知识,用于下游文本检测任务。是首次尝试为文本检测提供通用的预训练模型。并证明 STKM 可以在不同的基准上以很大的幅度提高各种检测器的性能。作者 | Qi Wan, Haoqin Ji, Linlin Shen单位 | 深圳市人工智能与机器人研究院;深圳大学论文 | https://openaccess.thecvf.com/content/CVPR2021/papers/Wan_Self-Attention_Based_Text_Knowledge_Mining_for_Text_Detection_CVPR_2021_paper.pdf代码 | https://github.com/CVI-SZU/STKM
-
这些缺失的成分是因果推理、归纳偏置、更好的自监督或无监督学习算法,还是其他完全不同的东西?在今年 10 月份的论文中,强化学习大牛、UC 伯克利电气工程与计算机科学助理教授 Sergey Levine 提出并对这一问题进行了深入探讨。该研究认为利用强化学习可以衍生出一个通用的、有原则的、功能强大的框架来利用未标记数据,使用通用的无监督或自监督强化学习目标,配合离线强化学习方法,可以利用大型数据集。此外,该研究还讨论了这样的过程如何与潜在的下游任务更紧密地结合起来,以及它如何基于近年来开发的现有技术实现的。论文地址:https://arxiv.org/pdf/2110.12543.pdf他认为这个问题很难回答,任何答案必然涉及大量猜想,但我们从人工智能近来的进展中吸取的教训可以提供几个指导原则。第一个教训是需要大量训练数据的大规模通用模型的「不合理」有效性。正如阿尔伯塔大学计算机科学系教授 Richard S. Sutton 在其文章《The Bitter Lesson》中以及机器学习领域大量其他研究者所表达的那样,机器学习近来的研究主题始终是「高效利用大量计算和数据的方法通常优于依赖手动设计的先验和启发式方法」。虽然探讨造成这一趋势的原因超出了本文的探讨范围,但可以总结(或夸张地描述)如下:当我们为模型设计偏见或先验时,我们正在注入自己关于世界如何运作的不完善的知识,这使得模型得出了比我们自身设计的还要准确的结果,因而也会工作地更好。事实上,在人们如何获得熟练程度方面也表现出类似的模式,正如 UC 伯克利名誉教授 S.E. Dreyfus 等在著作《Philosophy and technology II》中所讨论的那样,遵循我们可以明确表达出的规则的「rule-based」推理往往只会为人们提供各种技能的「新手级」表现,而「专家级」表现往往与人们难以清晰表达的各种特例、例外情况和模式息息相关。正如 Dreyfus 所指出的,真正的人类专家很少能够清楚地阐明他们所展示的专业知识所遵循的规则。因此,正如人类必须要从经验中获得专业知识一样,机器学习也必须如此。为此,研究者认为,我们需要强大的、高容量的模型,这些模型施加的偏见较少并且可以处理大量所需的经验。第二个近期得到的教训是人工标记和监督在规模上远远不如无监督或自监督学习。我们看到,无监督预训练已经成为了自然语言处理的标准,并且可能将很快也成为其他领域的标准。从某种意义上来讲,这个教训是第一个教训的必须结果:如果大模型和大数据集最有效,那么任何限制模型和数据集大小的事情最终都将会成为瓶颈。人类监督可能就是这样一种瓶颈:如果所有数据都必须由人工标记,则系统从中学习所需的数据就会减少。但这里,我们遇到了一个难题:当前没有人类标签的学习方法往往违反第一个教训的原则,即需要大量的人类洞察力(通常是特定领域的)来设计允许大模型从未标注数据集中获得有意义知识的自监督学习目标。这些包括语言建模等相对简单的任务,以及「预测两个转换后的图像是否由同一个原始图像还是两个不同的图像各自生成」的更深奥的任务。后者是计算机视觉领域现代自监督学习中广泛使用且表现成功的方法。虽然这些方法在一定程度上有效,但我们将面临的下一个瓶颈可能是在无需人工标记或手动设计自监督目标时决定如何训练大模型,从而使得到的模型既可以对世界有深刻和有意义的理解,也能够在执行下游任务时表现出稳健泛化性(robustness generalization)和一定程度的常识。在作者看来,这种方法论可以从当前基于学习的控制(强化学习, RL)算法中开发出来,尽管需要大量的算法创新才能使这类方法能够显著超越它们迄今为止所能解决的问题类型。这一想法的核心是这样一种概念:为了使用不同的和以目标为导向的方式控制环境,自主智能体必须发展对它们所处的因果和可泛化的环境的理解,因此可以克服当前监督式模型的很多缺点。与此同时,这还需要在以下两个重要方面超越当前的强化学习范式。一方面,强化学习算法需要用户手动指定任务目标即奖励函数,然后学习完成该任务目标所需的行为,当然,这种做法极大地限制了智能体在无人类监督时的学习能力;另一方面,现在常用的强化学习算法本质上不是数据驱动的,而是从在线经验中学习。尽管此类方法可以直接部署在真实世界环境中,但在线主动数据收集限制了它们在此类设置中的泛化能力。另外,强化学习的很多用例是发生在模拟环境中,因而很少有机会学习现实世界如何运作的。
-
Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition提出 ABINet,用于场景本文识别,它具有自主性、双向性以及迭代性。其中自主性是提出阻断视觉和语言模型之间的梯度流动,以执行明确的语言建模;双向性表现在,提出一种基于双向特征表示的新型 bidirectional cloze network(BCN)作为语言模型;迭代性是提出一种语言模型迭代校正的执行方式,可以有效地缓解噪声输入的影响。此外,基于迭代预测的集合,提出一种自训练方法,可以有效地从未标记的图像中学习。结果:实验结果显明,ABINet 在低质量图像上具有优势,并在几个主流基准上取得了最先进的结果。此外,用集合自训练法训练的 ABINet 向实现人类水平的识别水平又进了一步。作者 | Shancheng Fang, Hongtao Xie, Yuxin Wang, Zhendong Mao, Yongdong Zhang单位 | 中国科学技术大学论文 | https://arxiv.org/abs/2103.06495代码 | https://github.com/FangShancheng/ABINet备注 | CVPR 2021 Oral
-
人工智能帮助发现系外行星上的分子,甚至有一天可能会发现新的物理定律你知道地球的大气是由什么组成的吗?你可能记得它是氧气,也可能是氮气。借助 Google 的一点帮助,您可以轻松得出更精确的答案:78% 的氮气、21% 的氧气和 1% 的氩气。大气可以表明行星的性质,以及它们是否可以承载生命。然而,当谈到外大气层——太阳系外行星的大气层——的组成时,答案是未知的。由于系外行星如此遥远,已证明探测它们的大气层极其困难。研究表明,人工智能 (AI) 可能是探索它们的最佳选择——但前提是能够证明这些算法以可靠、科学的方式思考,而不是欺骗系统。来自伦敦大学的研究人员提出了一些通用评估方法,可以应用于任何训练有素的 AI 模型。特别是,他们训练了三种不同的流行深度神经网络(DNN)架构来从系外行星光谱中检索大气参数,并表明这三种架构都实现了良好的预测性能。同时研究人员对 DNN 的预测进行了广泛的分析,这可以给定仪器和模型的大气参数的可信度限制。执行基于扰动的敏感性分析,以确定检索结果对频谱的哪些特征最敏感。该团队得出结论,对于不同的分子,DNN 预测最敏感的波长范围确实与其特征吸收区域一致。该方法有助于改进 DNN 的评估并为其预测提供可解释性。该研究以「Peeking inside the Black Box: Interpreting Deep-learning Models for Exoplanet Atmospheric Retrievals」为题,于 2021 年 10 月 13 日发布在《The Astronomical Journal》。天文学家通常利用凌日方法来研究系外行星,这涉及测量当行星从恒星前面经过时恒星发出的光的倾角。如果行星表面存在大气,它可以吸收少量恒星的光。通过在不同波长(光的颜色)下观察这一事件,可以在吸收的星光中看到分子的指纹,在光谱中形成可识别的图案。如果恒星与太阳相似,则木星大小行星的大气产生的典型信号只会使恒星光减少约 0.01%。地球大小的行星产生的信号要低 10-100 倍。这有点像从飞机上发现地面上猫咪的眼睛颜色。未来,詹姆斯·韦伯太空望远镜(JWST)和 The Ariel Space Mission 这两个探测器都将从太空轨道上调查系外行星,它们可以获取数千个系外大气层的高质量光谱。但是,由于大气层的复杂性,对单个凌日行星的分析可能需要数天甚至数周才能完成。科学家们试图训练人工智能来预测大气中各种化学物质的丰度。为了证明人工智能的可靠性,科学家研究了人工智能的思考模式。窥视黑匣子内部如果无法理解,就不能采用理论与工具。也许人工智能中的一个「小故障」,可能会得出在系外行星发现了生命的结论。人工智能在解释它们发现方面很糟糕。即使是人工智能专家也很难确定是什么原因导致网络提供给定的解释。这种劣势阻碍了人工智能技术在天文学领域的应用。研究人员开发了一种方法,可以一瞥人工智能的决策过程。该方法非常直观。假设 AI 必须确认图像是否包含猫。它大概会通过发现某些特征来做到这一点,例如皮毛或脸型。为了了解它所引用的特征和顺序,可以模糊猫的图像的一部分,看看它是否仍然可以识别出它是一只猫。这正是科学家通过「扰动」或改变光谱区域为系外行星探测 AI 所做的训练。通过观察人工智能对系外行星分子丰度的预测在每个区域被修改时是如何变化的(比如说大气中的水),研究人员开始构建人工智能如何思考的「图片」,比如它用来决定大气中的水含量的光谱区域。结果发现训练有素的人工智能在很大程度上依赖于物理现象,例如独特的光谱指纹——就像天文学家一样。事实上,在学习方面,AI 和高中生并没有太大的不同——它会尽量避开艰难的道路(一步步解析),寻找各种捷径(套用公式),获取答案。如果人工智能基于记住它遇到的每一个频谱来做出预测,那将是非常不可取的。这一发现提供了第一种偷窥所谓「人工智能黑匣子」的方法,让研究人员能够评估人工智能所学到的东西。借助这些工具,研究人员现在不仅可以使用 AI 来加速对外部大气的分析,而且还可以验证他们的 AI 是否使用了众所周知的自然法则。也就是说,现在说完全了解人工智能还为时过早。下一步是精确计算每个概念的重要性,以及如何将其处理为决策。这个前景对人工智能专家来说是令人兴奋的。AI 令人难以置信的学习能力源于它从数据中学习「表示」或模式的能力——这种技术类似于物理学家如何发现自然定律。论文链接:https://iopscience.iop.org/article/10.3847/1538-3881/ac1744/meta相关报道:https://phys.org/news/2021-12-ai-reliably-molecules-exoplanets-day.html转发自:https://www.jiqizhixin.com/
-
用于任意形状文本检测TextOCR: Towards large-scale end-to-end reasoning for arbitrary-shaped scene text本文介绍一个在 TextVQA 图像上收集的大型任意场景文本识别数据集 TextOCR,以及一个端到端的模型 PixelM4C,该模型通过将文本识别模型作为一个模块,可以直接在图像上进行场景文本推理。TextOCR,大型且多样化,来自 TextVQA 的 28,134 幅自然图像,有 100 万个任意形状的单词标注(比现有的数据集大3倍),每张图片有 32 个单词。作为训练数据集,在多个数据集上提高了 OCR 算法的精度 ;作为测试数据集,为社区提供新的挑战。在TextOCR上进行训练,可以提供更好的文本识别模型,在大多数文本识别基准上超过最先进的水平。此外,在 PixelM4C 中使用 TextOCR 训练的文本识别模块,可以使用它的不同特征,甚至有可能提供反馈,这使得 PixelM4C超越了 TextVQA 的现有最先进方法。通过 TextOCR 数据集和 PixelM4C 模型,在连接 OCR 和基于 OCR 的下游应用方面迈出了一步,并从直接在 TextOCR 上训练的 TextVQA 结果中所看到的改进,希望该研究能够同时推动这两个领域的发展。作者 | Amanpreet Singh, Guan Pang, Mandy Toh, Jing Huang, Wojciech Galuba, Tal Hassner单位 | Facebook论文 | https://arxiv.org/abs/2105.05486主页 | https://textvqa.org/textocr
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签