软件开发师:关于机器学习,你学反了……

全文共4221字,预计学习时长13分钟

图源:Unsplash

 

随着越来越多的公司采用人工智能技术,机器学习工程师-即开发人工智能(AI)机器和能够学习并应用知识的高级程序员的需求量增大。

这些专业人员需要进行编程以应对复杂的数据集/算法,进而训练人工智能机器。

越来越多的软件工程师开始转型人工智能,而大多数人都是从头开始学的机器学习。

但是,相比于新框架机器学习更难掌握。

作为一个高效的实践者,你需要充分理解该领域的理论、广泛掌握当前最尖端的知识,并且有能力以不确定的方式塑造问题。

网上很多指南只会简单地教你如何在一个策划好的数据集上训练可以立即使用的模型,并达到一个不错的准确度,然后就结束了。事实上,要成为一个优秀的机器学习工程师必须掌握更广泛的技能。

那么,关于人工智能,有远见的软件工程师应该学习哪些内容呢?

图源:Unsplash

 

笔者还记得自己第一次学习编码是在中学,父亲是一名程序员,他打开一个文本编辑器,在屏幕上输入了以下代码:

  1. public class HelloWorld {
  2. public static void main(String[]args) {
  3. System.out.println("HelloWorld.");
  4. }
  5. }

“这是干什么用的?”我问道。

“这会打印出‘Hello World’。”父亲回答。

“public是什么?Class是什么?static是什么?……”

“忽略这些词。这些只是样板文件。”

但是笔者被那些看不懂的所谓样板文件吓坏了,所以开始学习这些关键词的意思。结果发现,这复杂又无聊,几乎扼杀了笔者这个年轻程序员的远大抱负。

如今学习软件开发比笔者高中时候要容易得多,主要是因为有了像codecademy.com这样的网站,建立基本开发环境也更加容易,以及对像Python和Javascript这样高级、解释性语言的全面教授。

从对编码一无所知到在浏览器中编写下第一条条件语句,只需要几分钟即可。没有杂乱的环境设置、安装、编译器或样板需要处

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了使用mediapipe和opencv制作桌上冰球的交互式小游戏,您需要按照以下步骤进行操作: 1.安装mediapipe和opencv库。 2.准备球桌的图片,球的图片,球拍的图片。球和球拍的图片一定要保存成.png格式的。放在同一个文件夹中以备读取。 3.使用mediapipe库中的HandLandmark模块检测玩家手部的位置。 4.使用opencv库中的cv2.imread()函数读取球桌、球和球拍的图片。 5.使用opencv库中的cv2.imshow()函数显示球桌、球和球拍的图片。 6.使用opencv库中的cv2.rectangle()函数在球桌上绘制球拍。 7.使用opencv库中的cv2.circle()函数在球桌上绘制球。 8.使用opencv库中的cv2.moveWindow()函数移动窗口。 9.使用opencv库中的cv2.waitKey()函数等待用户输入。 10.使用opencv库中的cv2.destroyAllWindows()函数关闭窗口。 下面是一个简单的示例代码,可以帮助您更好地理解如何使用mediapipe和opencv制作桌上冰球的交互式小游戏: ```python import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_hands = mp.solutions.hands # 读取球桌、球和球拍的图片 table_img = cv2.imread('table.png') paddle_img = cv2.imread('paddle.png', cv2.IMREAD_UNCHANGED) ball_img = cv2.imread('ball.png', cv2.IMREAD_UNCHANGED) # 创建窗口并显示球桌、球和球拍的图片 cv2.namedWindow('Table Hockey', cv2.WINDOW_NORMAL) cv2.imshow('Table Hockey', table_img) # 获取摄像头输入 cap = cv2.VideoCapture(0) # 初始化手部检测模块 with mp_hands.Hands( min_detection_confidence=0.5, min_tracking_confidence=0.5) as hands: while cap.isOpened(): success, image = cap.read() if not success: print("Ignoring empty camera frame.") continue # 将图像从BGR转换为RGB image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 检测手部位置 results = hands.process(image) # 绘制手部关键点 if results.multi_hand_landmarks: for hand_landmarks in results.multi_hand_landmarks: mp_drawing.draw_landmarks( image, hand_landmarks, mp_hands.HAND_CONNECTIONS) # 获取手部位置 for id, lm in enumerate(hand_landmarks.landmark): h, w, c = image.shape cx, cy = int(lm.x * w), int(lm.y * h) # 在球桌上绘制球拍 if id == 8: x, y = cx - 50, cy - 50 alpha_s = paddle_img[:, :, 3] / 255.0 alpha_l = 1.0 - alpha_s for c in range(0, 3): image[y:y + paddle_img.shape[0], x:x + paddle_img.shape[1], c] = ( alpha_s * paddle_img[:, :, c] + alpha_l * image[y:y + paddle_img.shape[0], x:x + paddle_img.shape[1], c]) # 在球桌上绘制球 if id == 12: x, y = cx - 25, cy - 25 alpha_s = ball_img[:, :, 3] / 255.0 alpha_l = 1.0 - alpha_s for c in range(0, 3): image[y:y + ball_img.shape[0], x:x + ball_img.shape[1], c] = ( alpha_s * ball_img[:, :, c] + alpha_l * image[y:y + ball_img.shape[0], x:x + ball_img.shape[1], c]) # 显示图像 cv2.imshow('Table Hockey', image) # 移动窗口 cv2.moveWindow('Table Hockey', 0, 0) # 等待用户输入 if cv2.waitKey(5) & 0xFF == 27: break # 关闭窗口 cv2.destroyAllWindows() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值