Employee Introduction

Hi!
I am “Michi” and I will introduce myself in this post!
My last post (here) was in October 2020, so it has been about 3 years since I last posted. Time passes quickly.

Current work

I have been working with my current client since June 2020. I was mainly responsible for system maintenance, but now I am participating in development projects.

My daily schedule looks like this:

09:00: I start working
09:15: Meeting within your company
09:30: Meeting for the entire customer team
12:00: Lunch break
13:00: I restart working
13:05: Development PJMT (onsite)
14:00: Development PJMT (offshore)
18:00: End of my day

Currently, I work from home 4 days a week and go to work once a week. Recently, development has reached a climax, and we have many meetings. In between meetings, I receive deliverables from offshore and test them, and develop on-site batch functions. When I want to exercise, I go to the gym during my lunch break.

I moved

I moved in July of this year. There are various points to consider when choosing a place, such as rent, area, conditions of the building itself, etc. What do you guys prioritize?
Apart from the points mentioned above, my deciding factor was that there was a supermarket nearby. If I were in the past, I do not think I would have paid much attention to this point. I am sure this is due to the fact that I had more opportunities to cook at home due to the coronavirus.
The neighborhood seems to be a quiet residential area, but there is a school nearby. When I hear the lively shouts of students as they work in club activities or physical education classes, I feel a warm feeling of youth.

The view from my balcony

I went to Ise

I went to visit Ise-Jingu for the first time in a while.
I was blessed with good weather, and visiting the temple felt very refreshing. I always forget the etiquette of washing my hands and visiting the shrine, so I imitated what other worshipers were doing. I bought an amulet to ward off evil spirits at the Kagura Hall in the Naiku. (Next year is supposed to be a “harbinger of a great disaster” for me, according to the mae-yaku belief in Japan).
Afterwards, I went to Okage Yokocho to eat while walking and had a great time.

Picture I took from the opposite shore of Okage Yokocho

Please look forward to the next employee introduction!

社員紹介(5-3)

閲覧いただきありがとうございます。
今回の社員紹介記事を担当します「みち」です。3度目の登場です。

前回の投稿(コチラ)が2020年の10月ですので、約3年振りの投稿となります。月日が経つのは早いものです。

現在の業務

2020年6月から現在のお客様の下で業務をしています。

システムの保守を中心として担当していましたが、現在は開発案件に参画しています。

とある一日のスケジュールはこんな感じです。

09:00 業務開始
09:15 所属会社内MT
09:30 客先チーム全体MT
12:00 お昼休み
13:00 業務再開
13:05 開発PJMT(オンサイト)
14:00 開発PJMT(オフショア)
18:00 業務終了

現在は週4在宅、週1出社という感じです。最近は開発も佳境を迎えており、打合せが多いですね。打合せの合間に、オフショアからの成果物を受入してテストをしたり、オンサイト側のバッチ機能の開発を行ったりしています。体を動かしたいときには、お昼休みの間にジムに行きます。

引っ越しをしました

今年の7月に引っ越しをしました。家賃、エリア、建物自体の条件・・・などなど、お部屋選びには様々なポイントがあると思いますが、皆さんは何を優先されますか?

私の決め手は上記のポイント以外ですと、”スーパーが近くにあること”でした。昔の自分だったら、そこまで意識しないポイントだったと思います。きっとコロナの影響で自炊の機会が増えたことが要因ですね。

近隣は閑静な住宅街といった感じですが、近くに学校があります。学生たちが部活や体育の授業に勤しんでいる際の活発な掛け声を聞くと、青春だなぁと暖かい気持ちになります。

バルコニーから見える学校

伊勢に行ってきました

久しぶりに伊勢神宮に参拝をしに行ってきました。

天候にも恵まれ、お参りをすることでとても清々しい気持ちになりました。

手水や参拝の作法はいつも忘れてしまうので、他の参拝者の見様見真似をしました。

内宮の神楽殿で厄除けの御守りを購入しました。来年は前厄です。

その後、おかげ横丁で食べ歩きをし、楽しいひと時を過ごしました。

おかげ横丁の対岸から撮影

次回の社員紹介もお楽しみに!

Internship Experience Story ② August 2023

In August 2023, we held an internship with two Japanese students and four international students. In this article, we will introduce the experiences of the participants.

Nepali international student (man)

The internship at Dandelions was a very enjoyable experience. I met people from various countries and became friends with them. At the same time, I learned a lot as an intern. Participating in this internship training provided me with an opportunity to learn business manners necessary in the world of work. I studied computer science in high school and came to Japan to study in 2019. I am currently studying IT as a student at Aichi Sangyo University.

On the first day of the internship, we had to decide on captions for the LINE stamps of the company. I experienced working as a group, which was really interesting. Next, we worked on making our own business cards. We had to write a short self-presentation, including our past, present, and future. It was not easy to compile information about myself, but thanks to that, I was able to know more about myself.

Translating stamps

On the second day, we had to taste sweets we bought and to write our impressions for the EC site. I learned that tasting the sweets and writing reviews about them was to make it easier for customers to understand what flavor, texture, aroma the sweets have.   

Gathering impressions of the sweets

On the third day, we practiced exchanging business cards, which is not really something that you learn at school. After that, there was an explanation about web design. I had studied web design and HTML at school, but the explanations given during the internship were completely different from the ones given by school teachers who were limited to books. In the afternoon, we worked on creating personas and creating a website. I usually do presentations and university assignments by myself, but it was also a great experience to create something with my fellow interns.

Web design meeting

Korean international student (woman)

I participated in this internship with the goal of experiencing something new. I was nervous as it was my first internship, but I had a great time working with other interns and discussing about not only IT-related knowledge but a variety of things.

On the first day, we decided on the captions for the LINE stamps. Some captions came to mind right away, while others did not, but after thinking about it as a group, we were able to decide on captions that were suitable for the stamps.

Deciding on captions for the LINE stamps

On the second day, we did a test experience. The test consisted on checking if a website was working properly or not. It was a good opportunity to understand the importance and the difficulty of website testing.

Doing the test experience

On the third day, we did web design. I realized that marketing research and persona setting are important before starting a design. Through group discussions, we worked on creating a persona that could convey the charms of the Tokai region. Although there were some tasks that required specialized knowledge, I believe that by working together as a group, we were able to create a highly complete web design.

Web design meeting

The Dandelions internship was filled with new experiences, and I was able to achieve my own goals. I am glad that I was able to work on LINE stamps captions, web test, and web design, which I would not normally have the opportunity to.

Vietnamese international student (woman)

On the first day, we received an explanation of the internship

In August 2023, I participated in an internship with Dandelions. This experience was very meaningful and I learned a lot.

First of all, the actual work experience not only allowed me to implement the knowledge I had learned at school, but also provided me with practical knowledge that could not be learned from textbooks or classes. During the practical experience, I understood the importance of project progress management and team cooperation, and had the opportunity to improve my problem-solving skills during the week’s work.

On the second day, we tasted sweets and summarized our impressions on the EC site

Additionally, through communication with team members and supervisors, I learned the importance of manners and professionalism as a worker. I realized that proper reporting, proposal-making, and collaborative skills are essential to success in a workplace.

On the third day, we practiced exchanging business cards

The internship at Dandelions was a big step in my career in Japan. It was an experience that bridged the gap between theory and practice in the field of IT management, exposed me to the latest trends and technologies in the industry, and gave me an opportunity to practice my skills. I am confident that this will lead to my future growth.

2023年8月インターンシップ体験談②

※8月に当社でインターンシップを行い、日本人学生の方2名、外国人留学生の方4名に参加していただきました。当記事では、参加者の方の体験談を紹介していきます。

ネパール人の留学生(男性)

この度、株式会社ダンデライオンズのインターンシップに参加させていただきました。非常に楽しい経験になりました。様々な国のひとと出会って、友達になりました。同時にインターン生として学ぶことも多かったです。インターンシップ実習に参加したおかげで社会人に必要なビジネスマナーも学ぶ機会になりました。私は高校でコンピューターサイエンスの勉強をして、2019年に日本へ留学して来ました。現在、愛知産業大学の学生としてITの勉強をしています。

インターンシップの第1日目はLINEスタンプやスタンプのデザインの説明がありました。そして、インターンシップと就活でもよくあるグループディスカッションを体験しました。続いて、名刺作りの作業をしました。そのなかで、自分の過去、現在と、未来というトピックがあって、自分の情報まとめる作業も簡単ではなかった。そのおかげで自分の事をもっと知る事が出来ました。

スタンプ翻訳中

二日目はお菓子の感想のブロックを作る作業とウェブサイトのテスト体験がありました。ユーザーの使いやすさのため、ウェブを作る人達が何回もテストしている事がわかりました。

お菓子の感想をまとめる中

三日目は名刺交換の練習があって、学校でも学べないことを学びました。その後、ウェブデザインの説明がありました。学校でウェブサイト作りやHTMLの勉強はしたことがあったんですが、説明して頂いた内容が分かりやすかった。実際にユーザーのことを考えて説明された講義と本に限られている学校の先生の講義は全然違っていました。午後の時間はペルソナ作成とウェブサイトの作りの作業がありました。普段はいつも一人でプレゼンテーションや大学の課題をやっていますが、同じインターンの友達たちと情報共有しながら製品を作成するのもいい経験になりました。

ウェブデザイン会議中

韓国人の留学生(女性)

この度、株式会社ダンデライオンズのインターンシップに参加させていただきました。私は「新しいことを経験する」という目標を立ててインターンシップに取り組みました。初めてのインターンシップで緊張しましたが、他のインターンシップ生と一緒に協力しながらIT関連の知識だけではなく多様な意見を話し合うことができる良い時間になりました。

一日目はラインスタンプのフレーズの決定をしました。すぐフレーズが浮かぶものもあれば、そうではないものもありましたが、グループで考え続けた結果、スタンプに相応しいフレーズを決めることができました。

スタンプのフレーズ考え中

二日目はウェブサイトのテストを体験しました。サイトが正常的に働いているのかを確認する作業をしました。ウェブサイトのテストの重要性と大変さを自分で直接感じてみる良い機会でした。

熱心にウェブのテストをしている様子

三日目はウェブデザインをしました。デザインに入る前には市場調査とペルソナ設定が重要であることが分かりました。グループディスカッションを通じて、東海地方の魅力を伝えられるペルソナの作成とペルソナ作りに取り組みました。専門知識が必要な作業がありましたが、グループで協力して完成度の高いウェブサイトを作ることができたと思います。

ウェブデザイン会議中

ダンデライオンズのインターンシップは私にとって新しい経験で満ちた時間で初日に立てた目標も達成できました。普段は経験できないスタンプのフレーズ決めやウェブテスト、デザインに取り組むことができて、そして良い結果物を出せることができて嬉しいです。

ベトナム人の留学生(女性)

1日目、インターンシップの説明を受けています

2023年8月に株式会社ダンデライオンズのインターンシップを参加しました。インターンシップを終えて、IT経営分野における私の感想を伝えたいと思います。この経験は非常に有意義であり、多くの学びを得ることができました。

まず、実際の業務現場での経験は、学校で学んだ知識を実行するだけではなく、教科書や授業では学び得ない実践的知識を提供してもらいました。実践する時、プロジェクトの進行管理やチーム協力の重要性を理解し、1週間の業務の中で問題解決能力を高める機会がありました。

2日目、ECサイトについてみんなと一緒にお菓子を試食して、感想をまとめます

また、チームメンバーや担当者とのコミュニケーションを通じて、社会人としてのマナーやプロフェッショナルリズムの重要性を学びました。適切な報告や提案の仕方、協力するスキルが、職場での成功には欠かせない要素であることを理解しました。

3日目に名刺交換のマナーを練習します

株式会社ダンデライオンズのインターンシップは、私の日本就職において大きな一歩となりました。IT経営分野における理論と実践のギャップを埋める経験であり、業界の最新トレンドや技術に触れる体験があり、自分のスキルを練習する機会もありました。今後の成長につながる確信を持っています。

Internship Experience Story ① August 2023

In August 2023, we held an internship with two Japanese students and four international students. In this article, we will introduce the experiences of the participants.

French international student (woman)

During the internship, I was able to experience a lot of new things.
On the first day, I was able to translate Dandelions’ Japanese LINE stamps into French and English, which was a very useful activity. On the second day, we tasted the Japanese sweets we had purchased the day before and I translated our impressions into English. Although it was an interesting activity, I was a little bit stressed as I had little time to translate everything.

Sharing our impressions while eating the sweets we bought

On the third day, I experienced exchanging business cards for the first time. Exchanging business cards is a part of the Japanese culture, so I was excited to experience it. I learned how to give and receive business cards, which I think will be useful in the future.

Exchanging business cards

I also learned a lot about web design. For example, when creating a web design, you need to think about who you are creating the site for and consider the concept of “persona”.

Deciding on a “persona” with everyone

From these various activities, I was able to learn how Japanese companies are organized, and I acquired new skills and gained new experiences.

Japanese student (woman)

I am interested in web design and would like to pursue it as a career. For this reason, I decided to participate to this internship as I wanted to experience how a website is created.

On the first day, we decided on captions for LINE stamps. At first, everyone was nervous about meeting each other for the first time, so it was difficult to formulate opinions. Gradually, various opinions came out, and in the end, we were able to choose the captions with everyone’s approval.

On the second day, we ate sweets we had bought the day before and discussed our impressions. I was surprised that my impressions as a Japanese person were completely different from others. There were some sweets that were not known by everyone, so it was difficult to elicit positive feedback.

Eating sweets and gathering impressions

Then, we did a test experience. The test consisted on checking on various files whether things that should be specifically displayed are actually being displayed or not. This was a very detailed work, and I felt like I was going to give up in the middle of it. However, I learned that if I do not do it properly, I will not be able to find computer or informatic bugs, and afterwards, I felt that it was a very rewarding work.

On the third day, everyone created their own “persona” and after compiling and comparing them, we created a common one. When I was creating mine, it was difficult because I had to think about various detailed settings, but when it came to putting it all together, I had to figure out how to summarize everyone’s opinions and make sure that there were no gaps in everyone’s understanding. I strongly felt the difficulty of group discussions and the importance of communication. Also, while listening to everyone’s opinion, I found it interesting that we had different views and ways of thinking.

Organizing our common “persona”

Then, we moved on to creating a website. We determined the roles of each person and worked to ensure that the work progressed smoothly. While creating the site, I was able to feel the joy of creating something. In the future, I would like to acquire more knowledge and skills and grow to the point where I can make everything from scratch.

Deciding on the animes to integrate into our website

I had a very fulfilling time by gaining a lot of knowledge from everyone at Dandelions. I am really thankful for this experience.

Japanese student (man)

As it was my first internship, I was nervous, but the employees in charge of the internship were kind and thorough, so I quickly got used to the place and eased my nerves.

On the first day of the internship, we first introduced ourselves. Then, we worked on creating captions for LINE stamps. We worked together to decide on the appropriate words for each stamp’s caption, and translated them into other languages. We also purchased sweets in order to write our impressions and to post them on our e-commerce site.

Translating the stamps’ captions

On the second day, in order to compile on the e-commerce site the impressions of the sweets we bought the day before, we sampled the sweets and summarized everyone’s impressions. Once we finished, we checked on the e-commerce site if the posts were not displayed incorrectly.

Tasting sweets

On the third day, we practiced exchanging business cards. I was so nervous!
Then we started creating a website. We first had to decide on a persona in order to know for whom we will create it for. The design of the website was decided by a majority vote, and based on that design, we discussed which photos to include.

Exchanging business cards

On the fourth day, I wrote my impressions of the internship. I was able to write them quickly, but since there was so much to write, it was difficult to summarize everything. Then, we continued on creating our website.

On the last day, we had a presentation summarizing the creation of our website. I was so nervous when giving the presentation, but I gave my best!

2023年8月インターンシップ体験談①

※8月に当社でインターンシップを行い、日本人学生の方2名、外国人留学生の方4名に参加していただきました。当記事では、参加者の方の体験談を紹介していきます。

フランス人の留学生(女性)

インターンシップでは、新たなことを経験することができました。

一日目、私はダンデライオンズの日本語で書いてあるラインスタンプをフランス語と英語に翻訳することができて、非常に有益なアクティビティでした。二日目は、前日に購入した日本のお菓子を試食して、感想を英語に翻訳しました。興味深いアクティビティでしたが、感想を書いて、ECサイトにアップロードする時間がほとんどなかったため、ストレスが少しずつ溜まりました。

みんなと一緒にお菓子の感想を提供中

3日目、初めて名刺交換を経験しました。名刺交換とは日本の代表的な要素なので、それを体験することに興奮しました。名刺の渡し方、また受け取り方を学んだので、将来是非役に立つと思います。

名刺交換中

また、ウエブデザインに関しても様々なことを学びました。例えば、ウエブデザインを作成する時は、誰に向けてサイトを作成するのかを考えて、「ペルソナ」という概念を考慮する必要があります。

みんなと一緒に「ペルソナ」を決める中

このように、IT会社の様々な活動や要素は非常に充実していて、日本の会社がどのように組織されているかを知ることができて、これからも能力を身につけて、新しい経験をしていきたいと思います。

日本人の学生(女性)

この度は株式会社ダンデライオンズ様のインターンシップに参加させて頂きました。

私はWebデザインに興味があり将来的にそれを仕事にしたいと考えています。そのために、その現場の雰囲気やどのようにしてWebサイトができていくのかを体験したいと思い参加させて頂きました。

1日目、まず初めにLINEスタンプのフレーズ決めを行いました。皆初対面で緊張しているため初めはなかなか意見が出てきませんでした。だんだん色々な意見が出てきて最終的には全員の賛成で今回のスタンプを作成することができました。

2日目、まず前日に買ったお菓子を食べて感想を言い合いました。日本人の私とは全く違う感想が出てきて驚きました。あまり皆にウケなかったお菓子もありいい感想を引き出すのが難しかったです。

お菓子を食べて意見をまとめている様子

次にテスト体験をしました。仕様書に沿って表示されなければいけないものが表示されているか、逆に表示されなくていいものまで表示されているかチェックしました。これはとても細かい作業で、途中心が折れそうになりました。しかし、ここをしっかりやらないとバグが発見できず納品後に大変なことになる事を知りました。なので、すごく重要な作業でやりがいはとてもあると感じました。

3日目、初めてペルソナの作成を行いました。今回は一人一つペルソナを作成し、最終的に意見をまとめ一つのものを作成しました。一人で作成する時も細かい設定を色々考えなければいけないので大変でしたが、それをまとめるとなった時それぞれの意見をどうまとめるか、まとめたものに全員の認識のズレがないか確認する別の大変さがありました。そこにはグループディスカッションの難しさや、コミュニケーションの重要さをとても強く感じることができました。また、意見を聞く中で自分とは見方や考え方もあるのか面白いなと思うところも沢山あり、新しい発見が出来とてもいい経験になりました。

ペルソナをまとめている様子

続いてサイト制作に移りました。それぞれ役割分担を決め作業が円滑に進むように工夫をしました。また、サイトを制作する中で制作の楽しさを改めて感じることが出来ました。今後はもっと知識や技術身につけ1から全て作れるくらいに成長していきたいです。

サイトのテンプレートに埋め込むアニメのタイトル決めの様子

ダンデライオンズの皆様、一緒にインターンシップに参加した仲間、沢山の新しい経験や知識を知りとても充実した時間を過ごすことが出来ました。本当にありがとうございました。

日本人の学生(男性)

この度、株式会社ダンデライオンズのインターンシップに参加させていただきました。
初めてのインターンシップというのもあり、緊張して参加しましたが担当の社員さんも優しく丁寧に教えていただいたのですぐにこの場に慣れ緊張がほぐれました。

1日目
インターンシップ初日では、まず自己紹介を行い、参加者の名前や趣味などを聞きました。その後、LINEスタンプ作成に取り組みました。一つ一つのスタンプに対して適切な言葉を出し合いながら決め、ほかの言語にも翻訳しながら進めました。さらに自己PRの作成やECサイトに載せるためのお菓子の買い出しも行いました。

スタンプ翻訳中

2日目
前日に買い出しに行ったお菓子をECサイトにまとめるために、そのお菓子を試食し、みんなの感想をまとめました。また、前日に書いた自己PRを発表し、仲間との絆を深めました。さらに、作成したウェブサイトのテストを行い、誤った表示がないか確認しました。このテスト作業が一番大変だったかもしれません。この日から最終日のプレゼンのための資料作りが始まりました。

お菓子試食中

3日目
名刺交換練習をしました。なぜこんなに緊張したのかわからないぐらい緊張しました。
ウェブデザインを作る体験では、まずペルソナを作りどのような人に向けて作るのかを決定しました。ウェブサイトのデザインは多数決で決まりそのデザインをもとにどの写真を入れるか、相談しました。

名刺交換

4日目
この日はブログに掲載する記事を作りました。この作業はインターンシップで体験したことが多かったのですぐに書くことができたのですが書くことが多いゆえに、それをまとめるのが大変です。前日のウェブサイトデザインの続きを午後にする予定です。

5日目
この日の午後にプレゼン発表があるので最後のまとめとしてプレゼン資料を作る予定です。
プレゼン発表では緊張すると思いますが頑張って発表したいと思います。

November internal contest announcement!

Every year in November, each unit from DandelionS holds a report meeting on the annual activities.
We set evaluation items for each unit, and each unit member and representative scores the results.
The goals for each unit are as follows:

0th Unit

・Web trends investigation
・Corporate site, recruitment site operation
・About internally developed apps (jointly with the 3rd unit)

1st Unit

・Luckybox Blog
・Hello World Web version
・Sweets authentication app
・Attendance input API (jointly with 2nd unit)

2nd Unit

・Building an internal attendance management system using OutSystems
・Building a simple attendance registration function using a smartphone app

3rd Unit

・Internal server construction
・Security support

How last year’s presentation looked like

This is a great opportunity to showcase this year’s activities to all members.
Please make sure to prepare well your presentation within each unit!
The details of the report will be provided later.

Please look forward to it!

11月社内コンテスト告知!!

当社では、毎年11月に各ユニットごとに年間の活動内容の報告会を実施しています。

各ユニットごとに評価項目を設定し報告を行い、各ユニットメンバーと代表により
採点が行われます。

各ユニットの目標は下記となっています。

第0ユニット

・Webトレンド調査
・コーポレートサイト、リクルートサイト運用
・社内開発アプリについて(第3ユニットと共同)

第1ユニット

・Luckyboxブログ
・ハローワールドWeb版
・お菓子認証アプリ
・勤怠入力API(第2ユニットと共同)

第2ユニット

・OutSystemsを利用した社内勤怠管理システムの構築
・スマホアプリでの勤怠簡易登録機能の構築

第3ユニット

・社内サーバー構築
・セキュリティ対応

前回の発表の様子

今年の活動内容を全メンバーにアピールできる絶好の機会です。
各ユニット内で発表の準備をしっかり行い、惜しみなく発表してください!

報告会の内容は、後日お届けさせていただきます。

お楽しみに!!

Engineer’s Blog – Let’s classify images with TensorFlow

For this engineer’s blog, I would like to introduce the learning content that I am working on on a daily basis. I am from the first unit working with themes such as AI and big data. This time, I will introduce a simple model for classifying images using TensorFlow.

TensorFlow is an open-source machine learning library widely used for machine learning and deep learning. It can be used for various tasks such as image classification.

To classify images with TensorFlow using the Python language, follow these steps:

1. Install TensorFlow

2. Load the dataset

This example uses the MNIST dataset. The MNIST dataset contains 60,000 training images and 10,000 test images of handwritten digits.

To load the MNIST dataset, use the following code:

This code reads the MNIST dataset and splits it into training and test images.

3. Preprocess the data

MNIST images are grayscale images and are all 28×28 pixels in size. Before training the model, we need to normalize the images.

To normalize the image, use the following code:

This code normalizes the value of each pixel in the image to a range of 0 to 1.

4. Define the model

This example uses a simple model. The model has two layers: a convolutional layer and a fully connected layer.

The convolutional layer extracts features from images. The fully connected layer classifies the image based on the features extracted by the convolutional layer.

Use the following code to define the model:

This code defines a model with four layers:

  • The first layer is a convolutional layer. This layer extracts a 28x28x32 feature map from the image.
  • The second layer is the max pooling layer. This layer reduces the size of the feature map by half.
  • The third layer is a planarization layer. This layer converts the feature map into a one-dimensional vector.
  • The fourth layer is a fully connected layer. This layer classifies images based on feature vectors.

5. Compile the model

To compile the model, you need to specify the loss function, the optimizer, and metrics.

The loss function is used to measure how well the model performs on the training data. The optimizer is used to update the weights of the model to minimize the loss function. Metrics are used to evaluate model performance on training and testing data.

Use the following code to compile the model:

This code uses “sparse_categorical_crossentropy” for the loss function, “adam” for the optimizer, and “accuracy” for the metric.

6. Train the model

To train the model, run the code below:

This code trains the model for 10 epochs (iterations).

7. Evaluate the model

To evaluate the model, run the code below:

This code calculates the model’s accuracy on the test data.

8. Make predictions

To make predictions on a new image, run the code below:

This code outputs the predictions the model made on the test image.

This was the first step toward image recognition. In this blog, I introduced the basic steps for training a model for image classification using TensorFlow.

技術者ブログ – TensorFlowで画像を分類しよう

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。今回はAI、ビッグデータをテーマにしている第1ユニットです。 今回のテーマはTensorFlowで画像を分類のための簡単なモデルの学習です。

TensorFlowは、機械学習やディープラーニングに広く使用されているオープンソースの機械学習ライブラリです。画像分類などのさまざまなタスクに使用できます。

Python言語を利用したTensorFlowで画像を分類するには、以下の手順を実行します。

  1. TensorFlowをインストールする
pip install tensorflow
  1. データセットを読み込む

この例では、MNISTデータセットを使用します。MNISTデータセットには、手書き数字の60,000枚のトレーニング画像と10,000枚のテスト画像が含まれています。

MNISTデータセットを読み込むには、次のコードを使用します。

import tensorflow as tf

(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()

このコードは、MNISTデータセットを読み込み、トレーニング画像とテスト画像に分割します。

  1. データを前処理する

MNIST画像はグレースケールで、すべて28×28ピクセルのサイズです。モデルをトレーニングする前に、画像を正規化する必要があります。

画像を正規化するには、次のコードを使用します。

train_images = train_images / 255.0
test_images = test_images / 255.0

このコードは、画像の各ピクセルの値を0から1の範囲に正規化します。

  1. モデルを定義する

この例では、シンプルなモデルを使用します。モデルには、畳み込み層と全結合層の2つの層があります。

畳み込み層は、画像から特徴を抽出します。全結合層は、畳み込み層で抽出された特徴に基づいて画像を分類します。

モデルを定義するには、次のコードを使用します。

model = tf.keras.models.Sequential([
  tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
  tf.keras.layers.MaxPooling2D((2, 2)),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(10, activation='softmax')
])

このコードは、4層からなるモデルを定義します。

  • 最初の層は畳み込み層です。この層は、画像から28x28x32の特徴マップを抽出します。
  • 2番目の層は最大プーリング層です。この層は、特徴マップのサイズを半分に縮小します。
  • 3番目の層は平坦化層です。この層は、特徴マップを1次元のベクトルに変換します。
  • 4番目の層は全結合層です。この層は、特徴ベクトルに基づいて画像を分類します。
  1. モデルをコンパイルする

モデルをコンパイルするには、損失関数、オプティマイザー、指標を指定する必要があります。

損失関数は、モデルがトレーニングデータに対してどれくらいうまく機能しているかを測定するために使用されます。オプティマイザーは、損失関数を最小化するためにモデルの重みを更新するために使用されます。指標は、トレーニングデータとテストデータに対するモデルのパフォーマンスを評価するために使用されます。

モデルをコンパイルするには、次のコードを使用します。

model.compile(loss='sparse_categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

このコードは、損失関数に「sparse_categorical_crossentropy」を、オプティマイザーに「adam」を、指標に「accuracy」を使用します。

  1. モデルをトレーニングする

モデルをトレーニングするには、以下のコードを実行します。

model.fit(train_images, train_labels, epochs=10)

このコードは、モデルを10エポック(繰り返し)トレーニングします。

  1. モデルを評価する

モデルを評価するには、以下のコードを実行します。

test_loss, test_accuracy = model.evaluate(test_images, test_labels)

print('Test loss:', test_loss)
print('Test accuracy:', test_accuracy)

このコードは、モデルのテストデータに対する精度を計算します。

  1. 予測を行う

新しい画像に対して予測を行うには、以下のコードを実行します。

predictions = model.predict(test_images)

# Print the predictions
print(predictions)

このコードは、モデルがテスト画像に対して行った予測を出力します。

以上、画像認識への第一歩でした。このブログ記事では、TensorFlowを使用した画像分類のモデル学習の基本的な手順をご紹介しました。